项目实战:实现一个简单计算器
专注于为中小企业提供成都网站制作、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业沁阳免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000+企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
界面设计
(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 privateList (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;
分享文章:10天学通Android开发(5)-项目实战:计算器
分享链接:http://cdweb.net/article/iesjic.html