基于Android计算器功能的实现(7)

2019-05-18 13:22

图4-8 界面具体设计

4.4 计算模块的实现

计算模块则主要描述了计算器的整体,实现了计算器的界面,定义了用户单击的处理办法,通过定义的处理办法来完成用户的操作命令,实现用户的计算要求,这些计算要求包括了数值的输入,小数点的输入,正负号的输入,记忆相关功能的完成,加、减、乘、除等各种计算功能的完成,运算符的替换,初始化系统等等。

计算器的特殊功能键列表:

按键名称 C CE Delete 按键功能 计算清零键,重新开始计算 本次输入清零键,按下后可以重输入本次数据 回退建,删除最后输入的一个字符 按键监听同时监听了触屏上的按键和键盘上的按键,其中按键的监听使用了的松开为判断的标准,即用户松开按键的时候程序才会读取数据。计算模块是整个系统的主体部分,整个计算器功能是通过Jisuanq2Activity.java来实现的。

首先,我使用一个数组btn来分别监控十个数字键,用et_led来监控输入内容,用btn_div、btn_mul、btn_sub、btn_plus、btn_equal、btn_dot,分别来表示除法、乘法、减法、加法、等号、点号,具体实现如下代码:

28

private Button[] btn = new Button[10]; private EditText et_led;

private Button btn_div, btn_mul, btn_sub, btn_plus, btn_equal,

btn_dot;

其次,对内容的操作。当有内容输入时,首先接收内容,接受的内容分为两部分:当输入为数据时,则是通过传递给数组str,根据数据的传递判断数据内容的长度,如果没有内容输入则,则通过et_led.setText()为0,如果有数据输入的时候,则通过et_led.setText()显示数据,并且将第一次输入的数据保存predata;当输入为符号时,像“+、-、*、/、CE、C、Delete”时,然后对符号进行判断,具体实现代码如下:

private OnClickListener actionPerformed = new OnClickListener() {

};

public void onClick(View v) { }

String

command = ((Button)v).getText().toString(),

str = et_led.getText().toString(); if(str.length() > 1) }

if(et_led.getText().toString().compareTo(\) == 0) { }

et_led.setText(\); vbegin = true;

et_led.setText(str.substring(0, str.length() - 1)); et_led.setText(\); vbegin = true;

else if(str.length() == 1) { if(command.compareTo(\) == 0) {

} else if

…………………………………

最后,当第二次输入数据的时候,将会数据存到temp,再根据上次输入的符号进行运算,然后将结果保存在temp,如果按键“=”,则会将将结果输出,如果是其他的符号,则会进行相应的运算,代码中的实现如下:

private void wtNumber(String str) {

}

if(vbegin)

et_led.setText(str); et_led.append(str); else

vbegin = false;

private void wtOperater(String opt) {

29

try {

if(vbegin)

preopt = opt;

if(preopt.equals(\)) {

predata = temp;

} else if(preopt.equals(\)) { else {

double temp = Double.parseDouble(et_led.getText().toString());

}

}

…………………………………

} else { }

throw new ArithmeticException();

et_led.setText(String.valueOf(predata)); preopt = opt;

} catch(NumberFormatException e) {

et_led.setText(\); et_led.setText(\); preopt = \; vbegin = true;}}}

} catch(ArithmeticException e) {

} finally {

4.5 计算器演示

按照如下步骤来演示计算器的各项功能: 输入20,并按下“*”键;

输入30,按下“CE”清空本次输入后,重新输入“40”,求积; 按下“=”键得出运算结果,得到图(a)所示结果; 按下“C”键,将计算结果清零,得到图(b)所示结果; 输入1234,按下“Delete”键得到123;

按下“+”键,然后输入800,求和,得到图(c)所示结果; 按下“/”键,然后输入20,得到图(d)所示结果。

30

(a) (b)

(c) (d)

31

5 结论

到现在为止,从开始进行毕业设计工作来算已经有三个多月了,系统的设计和开发已基本完成。本系统的功能基本符合了普通用户对于计算器的要求,整个系统界面友好,简单明了,使用起来十分方便,可以显示小数点后14位以上的计算结果,具有普通计算器的基本功能,同时拓展了一些普通计算器上没有的部分科学计算功能。整个过程中,从总体架构的构思,到最后的完成都投入了大量的时间和精力,对系统中的每个功能都进行了反复的调试,修改。由于是第一次独立的完成软件的开发,不论是在知识层面还是经验方面都有着很大的欠缺和不足,因此本系统难免会有一些不尽如人意的地方,但是由于时间的关系,只能在日后再进行完善了。

32


基于Android计算器功能的实现(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:基本能力测试201104

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: