资源包:范例练习b6 FLExB6.rar

需求分析:

1.设计:

  i.第一行,数字的EditText,算术符号的EditText,数字的EditText,三个控件

  ii.第二行,等号Button用于操作计算结果,显示结果的TextView

  iii.第三行,加减乘除的Button,点击后加加减乘除显示到第一行算术符号的EditText

2.操作:

  i.输入数字A,点选加减乘除,输入数字B,点击等号得出结果,在不计较异常的情况下实现简易计算功能

View Code
 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 }
posted on 2012-11-08 14:56  hanxun  阅读(270)  评论(0编辑  收藏  举报