---恢复内容开始---
简易计算器功能主要是需要实现加,减,乘,除,求余,开根号,求平方。
界面相对简洁,如图1所示:
实现的基本代码及其思路:
第一步,创建安卓工程,将其相关名字补全,注意package的命名规范性
第二步,在res下的layout下找到activity_main.xml
添加相应的代码
1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"View Code
2 xmlns:tools="http://schemas.android.com/tools"
3 android:layout_width="match_parent"
4 android:layout_height="match_parent"
5 android:paddingBottom="@dimen/activity_vertical_margin"
6 android:paddingLeft="@dimen/activity_horizontal_margin"
7 android:paddingRight="@dimen/activity_horizontal_margin"
8 android:paddingTop="@dimen/activity_vertical_margin"
9 tools:context=".MainActivity" >
10
11 <EditText
12 android:id="@+id/editText1"
13 android:layout_width="wrap_content"
14 android:layout_height="wrap_content"
15 android:layout_alignParentTop="true"
16 android:layout_centerHorizontal="true"
17 android:layout_marginTop="30dp"
18 android:ems="10"
19 android:hint="请输入第一个数字:" />
20
21 <EditText
22 android:id="@+id/editText2"
23 android:layout_width="wrap_content"
24 android:layout_height="wrap_content"
25 android:layout_alignLeft="@+id/editText1"
26 android:layout_below="@+id/editText1"
27 android:layout_marginTop="22dp"
28 android:ems="10"
29 android:hint="请输入第二个数字:" />
30
31 <EditText
32 android:id="@+id/editText3"
33 android:layout_width="wrap_content"
34 android:layout_height="wrap_content"
35 android:layout_alignLeft="@+id/editText2"
36 android:layout_below="@+id/editText2"
37 android:layout_marginTop="20dp"
38 android:ems="10"
39 android:hint="请输入运算符:" >
40
41 <requestFocus />
42 </EditText>
43
44 <Button
45 android:id="@+id/button1"
46 android:layout_width="wrap_content"
47 android:layout_height="wrap_content"
48 android:layout_centerHorizontal="true"
49 android:layout_centerVertical="true"
50 android:text="计算"
51 android:onClick="doClick" />
52
53 <TextView
54 android:id="@+id/textView1"
55 android:layout_width="wrap_content"
56 android:layout_height="wrap_content"
57 android:layout_below="@+id/button1"
58 android:layout_marginTop="50dp"
59 android:layout_toLeftOf="@+id/button1"
60 android:text="计算结果:" />
61
62 </RelativeLayout>
---恢复内容结束---
简易计算器功能主要是需要实现加,减,乘,除,求余,开根号,求平方。
界面相对简洁,如图1所示:
实现的基本代码及其思路:
第一步,创建安卓工程,将其相关名字补全,注意package的命名规范性
第二步,在res下的layout下找到activity_main.xml
添加相应的代码
1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"View Code
2 xmlns:tools="http://schemas.android.com/tools"
3 android:layout_width="match_parent"
4 android:layout_height="match_parent"
5 android:paddingBottom="@dimen/activity_vertical_margin"
6 android:paddingLeft="@dimen/activity_horizontal_margin"
7 android:paddingRight="@dimen/activity_horizontal_margin"
8 android:paddingTop="@dimen/activity_vertical_margin"
9 tools:context=".MainActivity" >
10
11 <EditText
12 android:id="@+id/editText1"
13 android:layout_width="wrap_content"
14 android:layout_height="wrap_content"
15 android:layout_alignParentTop="true"
16 android:layout_centerHorizontal="true"
17 android:layout_marginTop="30dp"
18 android:ems="10"
19 android:hint="请输入第一个数字:" />
20
21 <EditText
22 android:id="@+id/editText2"
23 android:layout_width="wrap_content"
24 android:layout_height="wrap_content"
25 android:layout_alignLeft="@+id/editText1"
26 android:layout_below="@+id/editText1"
27 android:layout_marginTop="22dp"
28 android:ems="10"
29 android:hint="请输入第二个数字:" />
30
31 <EditText
32 android:id="@+id/editText3"
33 android:layout_width="wrap_content"
34 android:layout_height="wrap_content"
35 android:layout_alignLeft="@+id/editText2"
36 android:layout_below="@+id/editText2"
37 android:layout_marginTop="20dp"
38 android:ems="10"
39 android:hint="请输入运算符:" >
40
41 <requestFocus />
42 </EditText>
43
44 <Button
45 android:id="@+id/button1"
46 android:layout_width="wrap_content"
47 android:layout_height="wrap_content"
48 android:layout_centerHorizontal="true"
49 android:layout_centerVertical="true"
50 android:text="计算"
51 android:onClick="doClick" />
52
53 <TextView
54 android:id="@+id/textView1"
55 android:layout_width="wrap_content"
56 android:layout_height="wrap_content"
57 android:layout_below="@+id/button1"
58 android:layout_marginTop="50dp"
59 android:layout_toLeftOf="@+id/button1"
60 android:text="计算结果:" />
61
62 </RelativeLayout>
在src下的MainActivity.Java下添加代码
1 package com.example.caculater;MainActivity.Java
2
3 import android.os.Bundle;
4 import android.app.Activity;
5 import android.view.Menu;
6 import android.view.View;
7 import android.widget.EditText;
8 import android.widget.TextView;
9
10 public class MainActivity extends Activity {
11 private EditText et_num1;
12 private EditText et_num2;
13 private EditText et;
14 private TextView tv_result;
15
16 @Override
17 protected void onCreate(Bundle savedInstanceState) {
18 super.onCreate(savedInstanceState);
19 setContentView(R.layout.activity_main);
20 et_num1 = (EditText) findViewById(R.id.editText1);
21 et_num2 = (EditText) findViewById(R.id.editText2);
22 et = (EditText) findViewById(R.id.editText3);
23 tv_result = (TextView) findViewById(R.id.textView1);
24 }
25
26 public void doClick(View view) {
27 String str1 = et_num1.getText().toString();
28 float number1 = Float.parseFloat(str1);
29
30 String str2 = et_num2.getText().toString();
31 float number2 = Float.parseFloat(str2);
32
33 String str3 = et.getText().toString();
34 float result=-1 ;
35 if ("+".equals(str3)) {
36 result = number1 + number2;
37 } else if ("-".endsWith(str3)) {
38 result = number1 - number2;
39 } else if ("*".endsWith(str3)) {
40 result = number1 * number2;
41 } else if ("/".endsWith(str3)) {
42 result = number1 / number2;
43 if (number2 == 0) {
44 tv_result.setText("Error!!!");
45 } else {
46 tv_result.setText(number1 + str3 + number2 + "=" + result);
47 }
48 } else if ("%".endsWith(str3)) {
49 result = number1 % number2;
50 if ( number2 == 0) {
51 tv_result.setText("Error!!!");
52 } else {
53 tv_result.setText(number1 + str3 + number2 + "=" + result);
54 }
55 } else if ("²".endsWith(str3) || "p".equals(str3)) {
56 result = (float) Math.pow(number1,2);
57 } else if ("√".endsWith(str3) || "s".equals(str3)) {
58 result = (float) Math.sqrt(number1);
59 }
60
61
62
63 if ("+".endsWith(str3) || "-".endsWith(str3) || "*".endsWith(str3)) {
64 tv_result.setText(number1 + str3 + number2 + "=" + result);
65 }else if ("²".endsWith(str3) || "p".equals(str3)) {
66 tv_result.setText(number1 + "²" + "=" + result);
67 } else if ("√".endsWith(str3)||"s".equals(str3) ) {
68 tv_result.setText("√" + number1 + "=" + result);
69 }
70 }
71
72 @Override
73 public boolean onCreateOptionsMenu(Menu menu) {
74 // Inflate the menu; this adds items to the action bar if it is present.
75 getMenuInflater().inflate(R.menu.main, menu);
76 return true;
77 }
78
79 }
运行