简陋计算器
public class FActivity extends Activity implements OnClickListener{ Button btn_0; Button btn_1; Button btn_2; Button btn_3; Button btn_4; Button btn_5; Button btn_6; Button btn_7; Button btn_8; Button btn_9; Button btn_point; Button btn_clear; Button btn_delete; Button btn_add; Button btn_minus; Button btn_multiple; Button btn_divide; Button btn_equal; PRivate EditText et; String string; Boolean flag=false; @Overrideprotected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.factivity); btn_0=(Button) findViewById(R.id.button_0); btn_1=(Button) findViewById(R.id.button_1); btn_2=(Button) findViewById(R.id.button_2); btn_3=(Button) findViewById(R.id.button_3); btn_4=(Button) findViewById(R.id.button_4); btn_5=(Button) findViewById(R.id.button_5); btn_6=(Button) findViewById(R.id.button_6); btn_7=(Button) findViewById(R.id.button_7); btn_8=(Button) findViewById(R.id.button_8); btn_9=(Button) findViewById(R.id.button_9); btn_point=(Button) findViewById(R.id.button_point); btn_divide=(Button) findViewById(R.id.button_divide); btn_add=(Button) findViewById(R.id.button_add); btn_minus=(Button) findViewById(R.id.button_minus); btn_multiple=(Button) findViewById(R.id.button_multiple); btn_delete=(Button) findViewById(R.id.button_delete); btn_equal=(Button) findViewById(R.id.button_equal); btn_clear=(Button) findViewById(R.id.button_clear); et=(EditText) findViewById(R.id.editText1); 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_point.setOnClickListener(this); btn_delete.setOnClickListener(this); btn_add.setOnClickListener(this); btn_minus.setOnClickListener(this); btn_multiple.setOnClickListener(this); btn_divide.setOnClickListener(this); btn_equal.setOnClickListener(this); btn_clear.setOnClickListener(this);} @Override public void onClick(View v) { string=et.getText().toString(); switch (v.getId()) { case R.id.button_0: case R.id.button_1: case R.id.button_2: case R.id.button_3: case R.id.button_4: case R.id.button_5: case R.id.button_6: case R.id.button_7: case R.id.button_8: case R.id.button_9: case R.id.button_point: { if (flag){ flag=false; string=""; } et.setText(string+((Button)v).getText()); break; } case R.id.button_add: case R.id.button_minus: case R.id.button_multiple: case R.id.button_divide: { et.setText(string+" "+((Button)v).getText()+" "); break; } case R.id.button_clear: { et.setText(""); break; } case R.id.button_delete: { if (!string.equals("")){ string=string.substring(0,string.length()-1); et.setText(string); } break; } case R.id.button_equal: { getResult(); break; } } } private void getResult(){ string=et.getText().toString(); Double result=(double) 0; if (string=="") return; if (!string.contains(" ")) return; if (flag){ // flag=false; return; } flag=true; String s1=string.substring(0,string.indexOf(" ")); String op=string.substring(string.indexOf(" ")+1,string.indexOf(" ")+2); String s2=string.substring(string.indexOf(" ")+3); double num1=Double.parseDouble(s1); double num2=Double.parseDouble(s2); if (!s1.equals("")&&!s2.equals("")){ if (op.equals("+")){ result=num1+num2; } if (op.equals("-")){ result=num1-num2; } if (op.equals("*")){ result=num1*num2; } if (op.equals("÷")){ if (num2!=0) result=num1/num2; else result=0.0; } }else if (s1.equals("")&&!s2.equals("")){ result=num2; }else if (!s1.equals("")&&s2.equals("")){ result=num1; } et.setText(result+"");}}intent传递
新闻热点
疑难解答