资源包:范例练习b6 FLExB6.rar
需求分析:
1.设计:
i.第一行,数字的EditText,算术符号的EditText,数字的EditText,三个控件
ii.第二行,等号Button用于操作计算结果,显示结果的TextView
iii.第三行,加减乘除的Button,点击后加加减乘除显示到第一行算术符号的EditText
2.操作:
i.输入数字A,点选加减乘除,输入数字B,点击等号得出结果,在不计较异常的情况下实现简易计算功能
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 package com.example.flexb6; 2 3 import android.os.Bundle; 4 import android.app.Activity; 5 import android.view.Menu; 6 import android.view.View; 7 import android.view.View.OnClickListener; 8 import android.widget.Button; 9 import android.widget.EditText; 10 import android.widget.TextView; 11 12 public class MainActivity extends Activity { 13 /* 效果图: 14 * [A][+][B] 15 * [=][C] 16 * [+][-][*][/] 17 */ 18 private EditText et_numbera; 19 private EditText et_numberb; 20 private EditText et_symbol; 21 22 private Button bt_equal; 23 private TextView tv_result; 24 25 private Button add; 26 private Button subtract; 27 private Button multiply; 28 private Button divide; 29 30 @Override 31 public void onCreate(Bundle savedInstanceState) { 32 super.onCreate(savedInstanceState); 33 setContentView(R.layout.activity_main); 34 35 et_numbera = (EditText) findViewById(R.id.et_numbera); 36 et_numberb = (EditText) findViewById(R.id.et_numberb); 37 et_symbol = (EditText) findViewById(R.id.et_symbol); 38 bt_equal = (Button)findViewById(R.id.bt_equal); 39 tv_result = (TextView)findViewById(R.id.tv_result); 40 add = (Button)findViewById(R.id.bt_add); 41 subtract = (Button)findViewById(R.id.bt_subtract); 42 multiply = (Button)findViewById(R.id.bt_multiply); 43 divide = (Button)findViewById(R.id.bt_divide); 44 45 //加减乘除Button 46 add.setOnClickListener(new OnClickListener() { 47 @Override 48 public void onClick(View v) { 49 et_symbol.setText("+"); 50 } 51 }); 52 subtract.setOnClickListener(new OnClickListener() { 53 @Override 54 public void onClick(View v) { 55 et_symbol.setText("-"); 56 } 57 }); 58 multiply.setOnClickListener(new OnClickListener() { 59 @Override 60 public void onClick(View v) { 61 et_symbol.setText("*"); 62 } 63 }); 64 divide.setOnClickListener(new OnClickListener() { 65 @Override 66 public void onClick(View v) { 67 et_symbol.setText("/"); 68 } 69 }); 70 71 //结果Button 72 bt_equal.setOnClickListener(new OnClickListener() { 73 @Override 74 public void onClick(View v) { 75 String str_symbol = et_symbol.getText().toString(); 76 Float numbera = Float.parseFloat(et_numbera.getText().toString()); 77 Float numberb = Float.parseFloat(et_numberb.getText().toString()); 78 String str_result = "error"; 79 if ("+".equals(str_symbol)) { 80 str_result = Float.toString(numbera + numberb); 81 } else if ("-".equals(str_symbol)) { 82 str_result = Float.toString(numbera - numberb); 83 } else if ("*".equals(str_symbol)) { 84 str_result = Float.toString(numbera * numberb); 85 } else if ("/".equals(str_symbol)) { 86 str_result = Float.toString(numbera / numberb); 87 } 88 tv_result.setText(str_result); 89 } 90 }); 91 92 } 93 94 @Override 95 public boolean onCreateOptionsMenu(Menu menu) { 96 getMenuInflater().inflate(R.menu.activity_main, menu); 97 return true; 98 } 99 }