简易计算器

来源:互联网 发布:js数组指定下标截取 编辑:程序博客网 时间:2024/05/16 07:11

制作简单的计算器

MainActivity.java中:

 

package cn.bzu.edu.computer.activity;import cn.bzu.edu.computer.model.ComputerBiz;import android.os.Bundle;import android.app.Activity;import android.app.AlertDialog;import android.app.Dialog;import android.view.Menu;import android.view.MenuInflater;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends Activity {private EditText op1Text;private TextView opText;private EditText op2Text;private TextView resultText;private Button add;private Button sub;private Button multiply;private Button divide;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initComponnents();}public boolean onCreateOptionsMenu(Menu menu){MenuInflater inflater=getMenuInflater();inflater.inflate(R.menu.menu, menu);return true;}private void initComponnents() {op1Text = (EditText) this.findViewById(R.id.op1);opText = (TextView) this.findViewById(R.id.op);op2Text = (EditText) this.findViewById(R.id.op2);resultText = (TextView) this.findViewById(R.id.result);OpHandler opHandler=new OpHandler();//事件处理类add = (Button) this.findViewById(R.id.add);                  add.setOnClickListener(opHandler);//对加号按钮进行事件监听sub = (Button) this.findViewById(R.id.sub);                  sub.setOnClickListener(opHandler);multiply = (Button) this.findViewById(R.id.multiply);multiply.setOnClickListener(opHandler);divide = (Button) this.findViewById(R.id.divide);divide.setOnClickListener(opHandler);}// 编写事件处理类private class OpHandler implements OnClickListener {@Overridepublic void onClick(View v) {String op1Str=op1Text.getText().toString();String op2Str=op2Text.getText().toString();double num1=Double.parseDouble(op1Str);//将取得的数字转化为Double型double num2=Double.parseDouble(op2Str);double result=0;switch (v.getId()) {//根据按钮的不同分别作处理case R.id.add:opText.setText(" + ");                                     result=ComputerBiz.add(num1, num2);//调用Computer类中的静态方法break;case R.id.sub:opText.setText(" - ");                                      result=ComputerBiz.sub(num1, num2);break;case R.id.multiply:opText.setText(" * ");                                     result=ComputerBiz.multiply(num1, num2);break;case R.id.divide:opText.setText(" / ");                                 if(num2==0){                                  resultText.setText("除数不能为0");                                     Toast.makeText(MainActivity.this, "除数不能为0", Toast.LENGTH_LONG).show();                                   }                                 else                                      result=ComputerBiz.divide(num1, num2);break;  default:break;}if(!(num2==0&&" / ".equals(opText.getText())))    resultText.setText(""+result);}}}

ComouterBiz.java类(注意是静态方法)

package cn.bzu.edu.computer.model;public class ComputerBiz {public static double add(double num1,double num2 ){return num1+num2;}public static double sub(double num1,double num2 ){return num1-num2;}public static double multiply(double num1,double num2 ){return num1*num2;}public static double divide(double num1,double num2 ) throws ArithmeticException{    return num1/num2;}}



 

原创粉丝点击