一个使用J2ME技术实现的简单计算器
【引自Mailbomb的博客】在实际学习的过程中,经常做一些小的项目,可以把学到的技术综合应用起来,获得一定的成就感,并锻炼逻辑思维能力。
本计算器代码的功能:
1、实现四则运算,其中除法实现的是整数除法;
2、实现清楚输入功能。
实现该功能的核心思路:
1、对本程序的功能进行状态划分,总共划分出三个状态:
a)输入第一个数字状态
b)输入运算符号状态
c)输入第二个数字状态
通过状态划分,每个状态进行对应的绘制和事件处理,这样逻辑比较清晰,编写代码起来比较简单。
2、数据的存储
在计算器程序中,存储数据是一个比较核心的逻辑,本程序的实现方式,判断用户按下的是否是数字按键(KEY_NUM0到KEY_NUM9),这些按键的keyCode和对应的字符编码相同,例如KEY_NUM0和字符0的编码一样,利用这个规律,获得数字按键的值,可以通过keyCode – KEY_NUM0实现。
这样只能换算出来一次的输入,而实际输入的结果应该等于:
上次输入的值 × 10 + 本次输入的内容
例如,上次输入的是1,本次输入3,则实际输入的内容应该是1 × 10 + 3 = 13
本程序通过这样的方式存储用户的输入。
本程序的操作说明:
1、数字输入按数字键实现
2、运算符号使用星号键输入,按一次星号键切换一次运算符号
3、左软键代表清除,每次清除一个数字或运算符
4、右软键代码计算,计算实际的结果
附源代码:
import javax.microedition.lcdui.*;
/**
* 计算器界面和逻辑
*/
public class CalcCanvas extends Canvas {
/**状态值*/
int status;
/**输入第一个数字状态*/
final int INPUT_FIRST = 1;
/**输入第二个数字状态*/
final int INPUT_SECOND = 3;
/**输入运算符号状态*/
final int INPUT_FLAG = 2;
/**绘制内容右下角的x坐标*/
int x = 150;
/**绘制内容右下角的x坐标*/
int y = 160;
/**行高*/
int lineHeig
- 最新文章
- 如何开发基于JBoss的J2EE应用[01-11]
- 使用Java NIO提高服务端程序的性能[01-11]
- GT4 开发:从头开始进行相互的身份验证[01-11]
- J2ME游戏中的图片处理[01-11]
- J2ME Mobile 3D入门教程(三)碰撞初步[01-11]
- J2EE实战留言本(升级应用篇)[01-11]
- 相关文章
- J2ME游戏中的图片处理[01-11]
- J2ME Mobile 3D入门教程(三)碰撞初步[01-11]
- J2ME中通过Http协议传输图片[01-11]
- J2ME RPG游戏边学边做(一)[01-11]
- J2ME网络程序中移动资费页面的处理[01-11]
- 使用J2ME MMAPI开发移动多媒体应用技术[01-11]
