Android简易计算器
来源:互联网 发布:ios ar源码 编辑:程序博客网 时间:2024/05/01 05:26
这个程序是在别人的程序基础上修改而成。有一个bug调了一天才调出来。汗!
下载地址:http://download.csdn.net/detail/hong0220/4675631
package com.calculator;import java.util.ArrayList;import android.app.Activity;import android.os.Bundle;import android.widget.*;import android.view.*;import android.view.View.OnClickListener;public class Calculator extends Activity {//创建控件的引用private EditText result;private Button delete;private Button clear;private Button one;private Button two;private Button three;private Button four;private Button five;private Button six;private Button seven;private Button eight;private Button nine;private Button zero;private Button division;private Button multiply;private Button subtract;private Button addition;private Button amount;@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //取得控件的实例 result = (EditText)findViewById(R.id.result); delete = (Button)findViewById(R.id.delete); clear = (Button)findViewById(R.id.clear); one = (Button)findViewById(R.id.one); two = (Button)findViewById(R.id.two); three = (Button)findViewById(R.id.three); four = (Button)findViewById(R.id.four); five = (Button)findViewById(R.id.five); six = (Button)findViewById(R.id.six); seven = (Button)findViewById(R.id.seven); eight = (Button)findViewById(R.id.eight); nine = (Button)findViewById(R.id.nine); zero = (Button)findViewById(R.id.zero); division = (Button)findViewById(R.id.division); multiply = (Button)findViewById(R.id.multiply); subtract = (Button)findViewById(R.id.subtract); addition = (Button)findViewById(R.id.addition); amount = (Button)findViewById(R.id.amount); //定义按键的监听器 clear.setOnClickListener(new clearClickListener()); delete.setOnClickListener(new deleteClickListener()); one.setOnClickListener(new oneClickListener()); two.setOnClickListener(new twoClickListener()); three.setOnClickListener(new threeClickListener()); four.setOnClickListener(new fourClickListener()); five.setOnClickListener(new fiveClickListener()); six.setOnClickListener(new sixClickListener()); seven.setOnClickListener(new sevenClickListener()); eight.setOnClickListener(new eightClickListener()); nine.setOnClickListener(new nineClickListener()); zero.setOnClickListener(new zeroClickListener()); division.setOnClickListener(new divisionClickListener()); multiply.setOnClickListener(new multiplyClickListener()); subtract.setOnClickListener(new subtractClickListener()); addition.setOnClickListener(new additionClickListener()); amount.setOnClickListener(new amountClickListener()); }class clearClickListener implements OnClickListener{public void onClick(View v) {result.setText("");}}class deleteClickListener implements OnClickListener{public void onClick(View v) {String str = result.getText().toString();if(str.length()>=1){result.setText(str.substring(0, str.length()-1));}}}class oneClickListener implements OnClickListener{public void onClick(View v) {String str = result.getText().toString();result.setText(str+1);}}class twoClickListener implements OnClickListener{public void onClick(View v) {String str = result.getText().toString();result.setText(str+2);}}class threeClickListener implements OnClickListener{public void onClick(View v) {String str = result.getText().toString();result.setText(str+3);}}class fourClickListener implements OnClickListener{public void onClick(View v) {String str = result.getText().toString();result.setText(str+4);}}class fiveClickListener implements OnClickListener{public void onClick(View v) {String str = result.getText().toString();result.setText(str+5);}}class sixClickListener implements OnClickListener{public void onClick(View v) {String str = result.getText().toString();result.setText(str+6);}}class sevenClickListener implements OnClickListener{public void onClick(View v) {String str = result.getText().toString();result.setText(str+7);}}class eightClickListener implements OnClickListener{public void onClick(View v) {String str = result.getText().toString();result.setText(str+8);}}class nineClickListener implements OnClickListener{public void onClick(View v) {String str = result.getText().toString();result.setText(str+9);}}class zeroClickListener implements OnClickListener{public void onClick(View v) {String str = result.getText().toString();result.setText(str+0);}}class divisionClickListener implements OnClickListener{public void onClick(View v) {String str = result.getText().toString();char ch = str.charAt(str.length()-1);if(ch != '+' && ch != '-' && ch != '/' && ch != '*'){result.setText(str+"/");}else{result.setText(str.substring(0, str.length()-1)+"/");}}}class multiplyClickListener implements OnClickListener{public void onClick(View v) {String str = result.getText().toString();char ch = str.charAt(str.length()-1);if(ch != '+' && ch != '-' && ch != '/' && ch != '*'){result.setText(str+"*");}else{result.setText(str.substring(0, str.length()-1)+"*");}}}class subtractClickListener implements OnClickListener{public void onClick(View v) {String str = result.getText().toString();char ch = str.charAt(str.length()-1);if(ch != '+' && ch != '-' && ch != '/' && ch != '*'){result.setText(str+"-");}else{result.setText(str.substring(0, str.length()-1)+"-");}}}class additionClickListener implements OnClickListener{public void onClick(View v) {String str = result.getText().toString();char ch = str.charAt(str.length()-1);if(ch != '+' && ch != '-' && ch != '/' && ch != '*'){result.setText(str+"+");}else{result.setText(str.substring(0, str.length()-1)+"+");}}}class amountClickListener implements OnClickListener{public void onClick(View v) {int now = 100;int index = 1;int[] operator = new int[10];operator[0] = 0;double a = 0;double b = 0;ArrayList<Double> numArray = new ArrayList<Double>(); String str = result.getText().toString();StringBuffer bsNum = new StringBuffer();StringBuffer bsOper = new StringBuffer();String ss[]=new String[100];int t=0;for(int i=0; i<str.length(); i++){if(str.charAt(i) >= 48 && str.charAt(i) <= 57)bsNum.append(str.charAt(i));else if(str.charAt(i)== '+' || str.charAt(i)== '-' || str.charAt(i)== '*' || str.charAt(i)== '/'){ss[t]=bsNum.toString();t++;int sum=bsNum.length();bsNum.delete(0, sum);if(bsOper.toString().equals("")){bsOper.append(str.charAt(i));switch(str.charAt(i)){case '+':now = 1;break;case '-':now = 1;break;case '*':now = 2;break;case '/':now = 2;break;default:break;}operator[index] = now;index++;}else{switch(str.charAt(i)){case '+':now = 1;break;case '-':now = 1;break;case '*':now = 2;break;case '/':now = 2;break;default:break;}while(now <= operator[index - 1]){bsNum.append(bsOper.charAt(bsOper.length()-1));ss[t]=bsNum.toString();t++;sum=bsNum.length();bsNum.delete(0, sum);bsOper.deleteCharAt(bsOper.length()-1);index--;}bsOper.append(str.charAt(i));operator[index] = now;index++;}}System.out.println("bsNum : "+bsNum);System.out.println("bsOper : "+bsOper);}ss[t]=bsNum.toString();t++;int sum=bsNum.length();bsNum.delete(0, sum);while(!bsOper.toString().equals("")){bsNum.append(bsOper.charAt(bsOper.length()-1));ss[t]=bsNum.toString();t++;sum=bsNum.length();bsNum.delete(0, sum);bsOper.deleteCharAt(bsOper.length()-1);}System.out.println("bsNum : "+bsNum);System.out.println("bsOper : "+bsOper);System.out.println("hello world!");for(int i=0;i<t;i++)System.out.println(ss[i]);for(int i=0; i<t; i++){if(ss[i].equals("+")){a = numArray.get(numArray.size()-1);b = numArray.get(numArray.size()-2);numArray.remove(numArray.size()-1);numArray.remove(numArray.size()-1);System.out.println(a+" "+b);numArray.add(Double.valueOf(b+a));}else if(ss[i].equals("-")){a = numArray.get(numArray.size()-1);b = numArray.get(numArray.size()-2);numArray.remove(numArray.size()-1);numArray.remove(numArray.size()-1);System.out.println(a+" "+b);numArray.add(Double.valueOf(b-a));}else if(ss[i].equals("*")){a = numArray.get(numArray.size()-1);b = numArray.get(numArray.size()-2);numArray.remove(numArray.size()-1);numArray.remove(numArray.size()-1);System.out.println(a+" "+b);numArray.add(Double.valueOf(b*a));}else if(ss[i].equals("/")){a = numArray.get(numArray.size()-1);b = numArray.get(numArray.size()-2);numArray.remove(numArray.size()-1);numArray.remove(numArray.size()-1);System.out.println(a+" "+b);numArray.add(Double.valueOf(b/a));}elsenumArray.add(Double.parseDouble(ss[i]));}System.out.println("result : "+numArray.get(0).doubleValue());String s = String.valueOf(numArray.get(0).doubleValue());result.setText(String.valueOf(s));}}}
- Android简易计算器
- android 简易的计算器
- android简易计算器
- android简易计算器总结
- Android应用---简易计算器
- Android简易计算器
- 【源码】Android简易计算器
- 简易Android计算器
- Android简易计算器
- android 简易计算器
- Android 简易计算器程序
- Android 简易计算器实现
- Android简易计算器
- Android 简易计算器
- android及其简易的计算器。。。
- Android初识之简易计算器
- Android制作简易计算器【JAVA】
- android简易计算器(第三版)
- Erlang学习时间曲线
- 笔记:js常用事件
- 高通7227平台外接UBLOX的GPS模块数据接收不稳定问题
- GetOleDbSchemaTable获得数据库中的表名和其他一些结构,例如:视图,存储过程
- [C] 跨平台使用Intrinsic函数范例1——使用SSE、AVX指令集 处理 单精度浮点数组求和(支持vc、gcc,兼容Windows、Linux、Mac)
- Android简易计算器
- [精华] 制作可执行的JAR文件包及jar命令详解zt
- HDU 4324
- 【2012.10.22】正式转战!开张大吉~
- 深度优先搜索和广度优先搜索的深入讨论(转自百度文库)
- 建立的一个通信录管理系统:
- 摘要
- Unicode,UTF-8编码,汉字编码
- 理解虚基类、虚函数与纯虚函数的概念