android计算器开发论文,基于Android计算器功能的实现毕业设计论文

《基于Android计算器功能的实现毕业设计论文.doc》由会员分享,可免费在线阅读全文,更多与《基于Android计算器功能的实现毕业设计论文》相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索。

1、t);}catch(ArithmeticExcetione){et_ledsetText(quotDivNumberCANNOTaZERO!quot);reot=quot=quot;}finally{vbegin=true;}}}尽量简洁而美观,应该具有良好的交互性。当然,我们每个人可以根据自己的喜好来进行设计,根据我个人的喜好,我最终设计出来的计算器界面如图界面设计结果从上图中,我们可以很直观的看到,从上到下分别是:显示模块、输入模块、计算模块。()输入模块,主要描述了计算器键盘以及键盘的监听即主要负责读取用户的键盘输入以及响应触屏的按键,当用户点击按键或者屏幕的时候监听器会去调用相应的处理办法,具体的处理办法会在相关的地方进行说明。在本项目中,在触屏上提供了各种功能的按键,分别是C,,,,,,,,,,,+,,,,=,Delete,CE。在整体界面的设置中,我还为各个按键的设置中我还设置了字体的大小,字体的颜色,分别用下列语句实现:字体大小:android:textSize=quotdiquot字体颜色:android:textColor=quotfquot界面背景:android:background=quotFFFquot()显示模块,主要描述了计算器的显示区,即该区域用于显示用户输入的数据以及最终的计算结果和一些其他信息。显示模块还设置了显示的字体,大小,颜色,同时还设置了显示字体的颜色。具体设置如下代码:ltEditTextandroid:id=quot@+ided_ledquotandroid:layout_width=quotfill_arentquotandroid:layout_height=quotwra_contentquotandroid:gravity=quotleftquotand。

2、ayout、TableLayout、EditText和TextView等UI布局和控件来实现计算器的界面。其中,具体设计如图所示:图界面具体设计计算模块的实现计算模块则主要描述了计算器的整体,实现了计算器的界面,定义了用户单击的处理办法,通过定义的处理办法来完成用户的操作命令,实现用户的计算要求,这些计算要求包括了数值的输入,小数点的输入,正负号的输入,记忆相关功能的完成,加、减、乘、除等各种计算功能的完成,运算符的替换,初始化系统等等。计算器的特殊功能键列表:按键名称按键功能C计算清零键,重新开始计算CE本次输入清零键,按下后可以重输入本次数据Delete回退建,删除最后输入的一个字符按键监听同时监听了触屏上的按键和键盘上的按键,其中按键的监听使用了的松开为判断的标准,即用户松开按键的时候程序才会读取数据。计算模块是整个系统的主体部分,整个计算器功能是通过JisuanqActivityjava来实现的。首先,我使用一个数组btn来分别监控十个数字键,用et_led来监控输入内容,用btn_div、btn_mul、btn_sub、btn_lus、btn_equal、btn_dot,分别来表示除法、乘法、减法、加法、等号、点号,具体实现如下代码:rivateButton[]btn=newButton[];rivateEditTextet_led;rivateButtonbtn_div,btn_mul,btn_sub,btn_lus,btn_equal,btn_dot;其次,对内容的操作。当有内容输入时,首先接收内容,接受的内容分为两部分:当输入为数据时,则是通过传递给数组str,根据数据的传递判断数据内容的长度,如果没有内容输入则,则通过et_ledsetText()为,如果有数据输入的时候,则通过et_led。

3、;for(inti=;ilt;++i){btn[i]setOnClickListener(actionPerformed);}btn_divsetOnClickListener(actionPerformed);btn_mulsetOnClickListener(actionPerformed);btn_subsetOnClickListener(actionPerformed);btn_lussetOnClickListener(actionPerformed);btn_equalsetOnClickListener(actionPerformed);btn_dotsetOnClickListener(actionPerformed);btn_bkssetOnClickListener(actionPerformed);btn_cesetOnClickListener(actionPerformed);btn_csetOnClickListener(actionPerformed);}rivateOnClickListeneractionPerformed=newOnClickListener(){ublicvoidonClick(Viewv){Stringcommand=((Button)v)getText()toString(),str=et_ledgetText()toString();if(commandcomareTo(quotBksquot)==){if(strlength()gt)et_ledsetText(strsubstring(,strlength()));elseif(strlength()==){et_ledsetText(quotquot);vbegin=true;}if(et_l。

4、f(vbegin)reot=ot;else{if(reotequals(quot=quot)){redata=tem;}elseif(reotequals(quot+quot)){indViewById(RidmButton);btn[]=(Button)findViewById(RidmButton);btn[]=(Button)findViewById(RidmButton);btn[]=(Button)findViewById(RidmButton);btn[]=(Button)findViewById(RidmButton);btn[]=(Button)findViewById(RidmButton);btn[]=(Button)findViewById(RidmButton);btn[]=(Button)findViewById(RidmButton);btn_div=(Button)findViewById(RidmButton);btn_mul=(Button)findViewById(RidmButton);btn_sub=(Button)findViewById(RidmButton);btn_lus=(Button)findViewById(RidmButton);btn_equal=(Button)findViewById(RidmButton);btn_dot=(Button)findViewById(RidmButton);Buttonbtn_bks=(Button)findViewById(RidmButton);Viewbtn_ce=(Button)findViewById(RidmButton);Viewbtn_c=(Button)findViewById(RidmButton。

5、roid:text=quotquotandroid:textSize=quotxquotandroid:layout_marginBottom=quotxquotandroid:layout_marginLeft=quotxquotandroid:layout_marginRight=quotxquotandroid:editable=quotfalsequotandroid:cursorVisible=quotfalsequotandroid:layout_weight=quotquotgt显示区中使用的是基于增强型的图形用户界面EditText,利用此类的功能,在显示模块中完成了以上设置。显示模块声明了这些设置,在用户使用系统的时候,会在协同布局设置一同完成以上设置,使用户在使用的时候可以直观的看到显示区的样子。一般情况下都会选择差不多的字体,所以此处选择的字体和键盘上显示的字体其实是一样的,但是事实上系统中进行了两次声明,即逻辑上这是两种不同的字体,以及设置字符串text为空。显示区和输入模块中的表格一样,同样分别设置了最小显示以及完美显示这两种状态。然后声明了显示区的画法,画法中包括了显示区的两个矩形组成的显示框,显示框的颜色和大小以及显示框中显示的文字所使用的字体,还有文字在显示框中的位置。最后设置了计算模块中的变量得到以及改变显示中所显示的内容的方法,当显示中的内容发生变化时,系统会运行reaint命令来重画显示区,由于使用的是比较低级的方法,所以只能通过整个显示区来实现显示更新这个命令。这样虽然和使用高级的方法相比速度上可能有点慢,但是由于时间相差的不是很多,在用户的正常使用中是不会有所感觉的。以上就是显示模块的具体实现流程,具体的实现方法请参照附件中的代码。在我的设计中,将综合使用Linear。

6、etText()显示数据,并且将第一次输入的数据保存redata;当输入为符号时,像“+、、*、、CE、C、Delete”时,然后对符号进行判断,具体实现代码如下:rivateOnClickListeneractionPerformed=newOnClickListener(){ublicvoidonClick(Viewv){Stringcommand=((Button)v)getText()toString(),str=et_ledgetText()toString();if(commandcomareTo(quotBksquot)==){if(strlength()gt)et_ledsetText(strsubstring(,strlength()));elseif(strlength()==){et_ledsetText(quotquot);vbegin=true;}if(et_ledgetText()toString()comareTo(quotquot)==){et_ledsetText(quotquot);vbegin=true;}}elseif}};最后,当第二次输入数据的时候,将会数据存到tem,再根据上次输入的符号进行运算,然后将结果保存在tem,如果按键“=”,则会将将结果输出,如果是其他的符号,则会进行相应的运算,代码中的实现如下:rivatevoidwtNumber(Stringstr){if(vbegin)et_ledsetText(str);elseet_ledaend(str);vbegin=false;}rivatevoidwtOerater(Stringot){try{doubletem=DoublearseDouble(et_ledgetText()toString());。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值