Android计算器代码

1星(超过10%的资源)
所需积分/C币:14 2015-09-20 21:44:35 205KB RAR
19
收藏 收藏
举报

Android计算器代码,这是我编写的Android计算器的代码,可以进行加减乘除运算

...展开详情
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
sldrm 2+3 = 4,下载5分不怕你骄傲
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下载吗?
谢谢参与!您的真实评价是我们改进的动力~
  • 领英

  • GitHub

  • 签到王者

  • 分享王者

关注 私信
上传资源赚钱or赚积分
最新推荐
Android计算器代码 14积分/C币 立即下载
1/0