java :package com.ddup.study;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class MainActivity extends Activity implements OnClickListener{ boolean needclear; //初始化按键 private Button btn_0 = (Button) findViewById(R.id.btn_0); private Button btn_1 = (Button) findViewById(R.id.btn_1); private Button btn_2 = (Button) findViewById(R.id.btn_2); private Button btn_3 = (Button) findViewById(R.id.btn_3); private Button btn_4 = (Button) findViewById(R.id.btn_4); private Button btn_5 = (Button) findViewById(R.id.btn_5); private Button btn_6 = (Button) findViewById(R.id.btn_6); private Button btn_7 = (Button) findViewById(R.id.btn_7); private Button btn_8 = (Button) findViewById(R.id.btn_8); private Button btn_9 = (Button) findViewById(R.id.btn_9); private Button btn_point = (Button) findViewById(R.id.btn_point); private Button btn_clear = (Button) findViewById(R.id.btn_clear); private Button btn_delete = (Button) findViewById(R.id.btn_delete); private Button btn_add = (Button) findViewById(R.id.btn_add); private Button btn_less = (Button) findViewById(R.id.btn_less); private Button btn_multiply = (Button) findViewById(R.id.btn_multiply); private Button btn_divide = (Button) findViewById(R.id.btn_divide); private Button btn_equal = (Button) findViewById(R.id.btn_equal); private EditText et_input = (EditText) findViewById(R.id.et_input); //在onCreate()方法中实现对按键的监听 protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.jsq); //按键点击监听 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_clear.setOnClickListener(this); btn_delete.setOnClickListener(this); btn_add.setOnClickListener(this); btn_less.setOnClickListener(this); btn_multiply.setOnClickListener(this); btn_divide.setOnClickListener(this); btn_equal.setOnClickListener(this); } //实现点击事件(即点击按钮之后显示在计算器屏幕上) @Override public void onClick(View v) { String str = et_input.getText().toString(); switch (v.getId()) { case R.id.btn_0: case R.id.btn_1: case R.id.btn_2: case R.id.btn_3: case R.id.btn_4: case R.id.btn_5: case R.id.btn_6: case R.id.btn_7: case R.id.btn_8: case R.id.btn_9: case R.id.btn_point: if(needclear){ str = ""; et_input.setText(""); } et_input.setText(str + ((Button) v).getText()); break; case R.id.btn_add: case R.id.btn_less: case R.id.btn_multiply: case R.id.btn_divide: if(needclear){ et_input.setText(""); } et_input.setText(str +" "+((Button) v).getText()+" "); break; case R.id.btn_equal: getResult(); break; case R.id.btn_delete: if (str != null && !str.equals("")) { et_input.setText(str.substring(0, str.length() - 1)); } break; case R.id.btn_clear: et_input.setText(""); break; } } //计算结果 private void getResult(){ needclear = true; String exp = et_input.getText().toString(); double r = 0; int space = exp.indexOf(' ');//用于搜索空格位置 String s1 = exp.substring(0, space);//s1用于保存第一个运算数 String op = exp.substring(space + 1, space + 2);//op用于保存运算符 String s2 = exp.substring(space + 3);//s2用于保存第二个运算数 double arg1 = Double.parseDouble(s1);//将运算数从string转换为Single double arg2 = Double.parseDouble(s2); if(op.equals("+")){ r = arg1 + arg2; }else if(op.equals("-")){ r = arg1 - arg2; }else if(op.equals("×")){ r = arg1 * arg2; }else if(op.equals("÷")){ if (arg2 == 0) { r=0; } else { r = arg1 / arg2; } } if(!s1.contains(".")&&!s2.contains(".")){ int result = (int)r; et_input.setText(result+""); }else{ et_input.setText(r+""); } }} 配置清单xml:<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ddup.study" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="19" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.ddup.study.MainActivity" android:theme="@android:style/Theme.Black.NoTitleBar" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application></manifest>
添加回答
举报
0/150
提交
取消