该资源内容由用户上传,如若侵权请选择举报
Android计算器代码
1星(超过10%的资源)
所需积分/C币:14
2015-09-20 21:44:35
205KB
RAR


版权声明:该资源内容由用户上传,如若侵权请选择举报
-
Android计算器代码,这是我编写的Android计算器的代码,可以进行加减乘除运算
-
2017-05-31
- 修改代码:double arg2 = Double.parseDouble(s2); 还有请注意您的口德!!!
- package com.calculator.activity; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; public class CalculatorActivity extends Activity implements OnClickListener{ /** Called when the activity is first created. */ //输入文本框 private EditText edit_input; // private boolean needClear; /* * 0到9的按钮 */ private Button btn[] = new Button[10]; /* * 加减乘除按钮 */ private Button btn_plus,btn_reduce,btn_multi,btn_div; /* * 点按钮、等号按钮、清除按钮、回退按钮 */ private Button btn_dot,btn_equal,btn_clear,btn_del; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); init(); } public void init(){ //按钮0到9 btn[0] = (Button)findViewById(R.id.btn_0); btn[1] = (Button)findViewById(R.id.btn_1); btn[2] = (Button)findViewById(R.id.btn_2); btn[3] = (Button)findViewById(R.id.btn_3); btn[4] = (Button)findViewById(R.id.btn_4); btn[5] = (Button)findViewById(R.id.btn_5); btn[6] = (Button)findViewById(R.id.btn_6); btn[7] = (Button)findViewById(R.id.btn_7); btn[8] = (Button)findViewById(R.id.btn_8); btn[9] = (Button)findViewById(R.id.btn_9); //按钮加减乘除 btn_plus = (Button)findViewById(R.id.btn_plus); btn_reduce = (Button)findViewById(R.id.btn_reduce); btn_multi = (Button)findViewById(R.id.btn_multiply); btn_div = (Button)findViewById(R.id.btn_divide); //点、等号、清除、回退按钮 btn_dot = (Button)findViewById(R.id.btn_dot); btn_equal = (Button)findViewById(R.id.btn_equal); btn_clear = (Button)findViewById(R.id.btn_clear); btn_del = (Button)findViewById(R.id.btn_del); //输入文本框 edit_input = (EditText)findViewById(R.id.et_input); btn[0].setOnClickListener(this); btn[1].setOnClickListener(this); btn[2].setOnClickListener(this); btn[3].setOnClickListener(this); btn[4].setOnClickListener(this); btn[5].setOnClickListener(this); btn[6].setOnClickListener(this); btn[7].setOnClickListener(this); btn[8].setOnClickListener(this); btn[9].setOnClickListener(this); btn_plus.setOnClickListener(this); btn_reduce.setOnClickListener(this); btn_multi.setOnClickListener(this); btn_div.setOnClickListener(this); btn_dot.setOnClickListener(this); btn_equal.setOnClickListener(this); btn_clear.setOnClickListener(this); btn_del.setOnClickListener(this); } @Override public void onClick(View v) { String str = edit_input.getText().toString(); switch (v.getId()) { case R.id.btn_0: case R.id.btn_1: case R.id.btn_2: case R.id.btn_3: case R.id.btn_4: case R.id.btn_5: case R.id.btn_6: case R.id.btn_7: case R.id.btn_8: case R.id.btn_9: case R.id.btn_dot: if(needClear){ str = ""; edit_input.setText(""); } edit_input.setText(str+((Button)v).getText()); needClear = false; break; case R.id.btn_plus: case R.id.btn_reduce: case R.id.btn_multiply: case R.id.btn_divide: if(needClear){ edit_input.setText(""); } edit_input.setText(str+" "+((Button)v).getText()); needClear = false; break; case R.id.btn_clear: edit_input.setText(""); break; case R.id.btn_del: if(str!=null&&!str.equals("")){ edit_input.setText(str.substring(0, str.length()-1)); } break; case R.id.btn_equal: calculator(); break; default: break; } } public void calculator(){ needClear = true; String exp = edit_input.getText().toString(); if(!exp.contains("+")&&!exp.contains("-")&&!exp.contains("×")&&!exp.contains("÷")){ edit_input.setText(exp); return; } int spacePos = exp.indexOf(' ');// 用于搜索空格位置 String s1 = exp.substring(0, spacePos);// s1用于保存第一个运算数 String op = exp.substring(spacePos + 1, spacePos + 2);// op用于保存运算符 String s2 = exp.substring(spacePos + 3);// s2用于保存第二个运算数 if(s1.equals("")){ s1 = "0"; } if(s2.equals("")){ s2 = "0"; } double r = 0; double arg1 = Double.parseDouble(s1); double arg2 = Double.parseDouble(s2); if(op.equals("+")){ r = arg1 + arg2; }else if(op.equals("-")){ r = arg1 - arg2; }else if(op.equals("×")){ r = arg1 * arg2; }else if(op.equals("÷")){ if(arg2 == 0){ r = 0; }else{ r = arg1 / arg2; } } if(!s1.contains(".")&&!s2.contains(".")){ int res = (int)r; edit_input.setText(res + ""); }else{ edit_input.setText(r + ""); } } }
- 修改代码:calculator函数里的double arg2 = Double.parseDouble(s1);为double arg2 = Double.parseDouble(s2);
- 修改代码:CalculatorActivity.java类calculator函数里的double arg2 = Double.parseDouble(s1);为double arg2 = Double.parseDouble(s2);
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
上传资源赚钱or赚积分
最新推荐
-
下载
NABC算法matlab代码
NABC算法matlab代码
-
下载
大连海事大学毕业论文标准模版(最新).doc
大连海事大学毕业论文标准模版(最新).doc
-
下载
C++ LINUX网络编程.zip
C++ LINUX网络编程.zip
-
下载
com.github.android.apk
com.github.android.apk
-
下载
74HC595D(最新中文版).doc
74HC595D(最新中文版).doc
-
下载
上海外国语大学毕业论文标准模版(最新).doc
上海外国语大学毕业论文标准模版(最新).doc
-
下载
安卓手机运行Python代码的apk文件.zip
安卓手机运行Python代码的apk文件.zip
-
下载
王者荣耀排位代练网站源码
王者荣耀排位代练网站源码
-
下载
SEMI E4.zip
SEMI E4.zip
-
下载
JEDEC JESD220C-2.2:2020 Universal Flash Storage (UFS) V2.2 - 完整英文电子版(392页)
JEDEC JESD220C-2.2:2020 Universal Flash Storage (UFS) V2.2 - 完整英文电子版(392页)
