项目实战:实现一个简单计算器
创新互联建站主要从事成都做网站、网站制作、成都外贸网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务太白,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792界面设计
(1)拖进一个大文本,整屏,设计各个数字及运算,用Table来存放。
android:layout_width="fill_parent" android:layout_height="wrap_content"> android:id="@+id/tableRow1" android:layout_width="fill_parent" android:layout_height="wrap_content"> (2)实现算法,一个数字一个操作符号,执行第二个操作符号时前面就运算,有三项就执行运算,用数组记录,创建种类类: publicclass Types { publicstaticfinalintADD = 1; publicstaticfinalintSUB = 2; publicstaticfinalintX = 3; publicstaticfinalintDIV = 4; publicstaticfinalintNUM = 5; } (3)存入数字或符号,项类 publicclass Item { public Item(double value,int type){ this.value=value; this.type=type; } publicdoublevalue=0; publicinttype=0; } (4)定义数组,存放内容为Item private List (5) 如果输入数字,直接添加: publicvoid onClick(View v) { switch (v.getId()) { case R.id.btn0: tvScreen.append("0"); break; case R.id.btn1: tvScreen.append("1"); break; case R.id.btn2: tvScreen.append("2"); break; 。。。。。 (6)实现相加 case R.id.btnAdd: items.add(new Item(Double.parseDouble(tvScreen.getText().toString()),Types.NUM)); 判断是否有三项了,写成一个方法: checkAndCompute(); 实现: publicvoid checkAndCompute(){ if (items.size()>=3) { double a = items.get(0).value; double b = items.get(2).value; int opt = items.get(1).type; items.clear(); switch (opt) { case Types.ADD: items.add(new Item(a+b, Types.NUM)); break; case Types.SUB: items.add(new Item(a-b, Types.NUM)); break; case Types.X: items.add(new Item(a*b, Types.NUM)); break; case Types.DIV: items.add(new Item(a/b, Types.NUM)); break; } } } (7)结构保存,并且屏幕清空 items.add(new Item(0, Types.ADD)); tvScreen.setText(""); break; (8)实现减等其它运算 case R.id.btnSub: items.add(new Item(Double.parseDouble(tvScreen.getText().toString()),InputTypes.NUM)); checkAndCompute(); items.add(new Item(0, InputTypes.SUB)); tvScreen.setText(""); break; (9)实现等于号等运算 case R.id.btnResult: items.add(new Item(Double.parseDouble(tvScreen.getText().toString()),InputTypes.NUM)); checkAndCompute(); tvScreen.setText(items.get(0).value+""); items.clear(); break; 另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享名称:10天学通Android开发(5)-项目实战:计算器-创新互联
标题链接:http://cdxtjz.cn/article/jhigj.html