计算器安卓源代码
- 格式:docx
- 大小:23.31 KB
- 文档页数:51
计算器Android版(源码)100%运行通过这是自己编写的,通过eclipse运行简易计算器Android版(源码)这是自己整理得,欢迎大家下载说明:每完成一次计算后,需先clear 清除记忆,当然也可以连算XML布局<?xml version="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical"><TableLayoutandroid:id="@+id/tableLayout1"android:layout_width="match_parent"android:layout_height="wrap_content"android:collapseColumns="4"><TableRowandroid:id="@+id/tableRow_et"android:layout_width="fill_parent"android:layout_height="fill_parent"><EditTextandroid:id="@+id/et"android:layout_width="fill_parent"android:layout_height="fill_parent"android:layout_span="4"android:focusable="false"android:singleLine="true"android:inputType="text"android:gravity="right"></EditText></TableRow><TableRowandroid:id="@+id/tableRow1"android:layout_width="fill_parent"android:layout_height="fill_parent"><Buttonandroid:id="@+id/bt_7"android:layout_width="40px"android:layout_height="40px"android:text="7"/><Buttonandroid:id="@+id/bt_8"android:layout_width="40px"android:layout_height="40px"android:text="8"/><Buttonandroid:id="@+id/bt_9"android:layout_width="40px"android:layout_height="40px"android:text="9"/><Buttonandroid:id="@+id/bt_back"android:layout_width="40px"android:layout_height="40px"android:text="back"/></TableRow><TableRowandroid:id="@+id/tableRow2"android:layout_width="fill_parent"android:layout_height="fill_parent"><Buttonandroid:id="@+id/bt_4"android:layout_width="40px"android:layout_height="40px"android:text="4"/><Buttonandroid:id="@+id/bt_5"android:layout_width="40px"android:layout_height="40px"android:text="5"/><Buttonandroid:id="@+id/bt_6"android:layout_width="40px"android:layout_height="40px"android:text="6"/><Buttonandroid:id="@+id/bt_divide"android:layout_width="40px"android:layout_height="40px"android:text="/"/></TableRow><TableRowandroid:id="@+id/tableRow3"android:layout_width="fill_parent"android:layout_height="fill_parent">android:layout_width="50px"android:layout_height="40px"android:text="+"/><Buttonandroid:id="@+id/bt_sub"android:layout_width="50px"android:layout_height="40px"android:text="-"/></TableRow><TableRowandroid:id="@+id/tableRow4"android:layout_width="fill_parent"android:layout_height="fill_parent"><Buttonandroid:id="@+id/bt_equal"android:layout_width="fill_parent"android:layout_height="fill_parent"android:layout_span="3"android:text="="/><Buttonandroid:id="@+id/bt_clear"android:layout_width="50px"android:layout_height="40px"android:text="clear"/></TableRow></TableLayout></LinearLayout>源代码:package android.sdk;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;import android.widget.Toast;public class Android_calculatorActivity extends Activity{private Button bt_1;private Button bt_2;private Button bt_3;private Button bt_4;private Button bt_5;private Button bt_6;private Button bt_7;private Button bt_8;private Button bt_9;private Button bt_0;private Button bt_add;private Button bt_sub; // 减private Button bt_multiply; // 乘private Button bt_divide; // 除private Button bt_back;private Button bt_equal; // 等于private Button bt_point; // 点private Button bt_clear; // 清除private EditText et_play; // 显示private String str_oper = "+"; // 运算符private StringBuffer str_display = new StringBuffer();; // 显示private String str_result; // 结果显示private double num1;private double num2;private boolean flag = true; // 小数点个数开关控制;private boolean b_sub, b_mul, b_div; // 运算符开关控制@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(yout.main);bt_0 = (Button) findViewById(R.id.bt_0);bt_1 = (Button) findViewById(R.id.bt_1);bt_2 = (Button) findViewById(R.id.bt_2);bt_3 = (Button) findViewById(R.id.bt_3);bt_4 = (Button) findViewById(R.id.bt_4);bt_5 = (Button) findViewById(R.id.bt_5);bt_6 = (Button) findViewById(R.id.bt_6);bt_7 = (Button) findViewById(R.id.bt_7);bt_8 = (Button) findViewById(R.id.bt_8);bt_9 = (Button) findViewById(R.id.bt_9);bt_add = (Button) findViewById(R.id.bt_add);bt_sub = (Button) findViewById(R.id.bt_sub);bt_multiply = (Button) findViewById(R.id.bt_multiply); bt_divide = (Button) findViewById(R.id.bt_divide);bt_back = (Button) findViewById(R.id.bt_back);bt_equal = (Button) findViewById(R.id.bt_equal);bt_point = (Button) findViewById(R.id.bt_point);bt_clear = (Button) findViewById(R.id.bt_clear);et_play = (EditText) findViewById(R.id.et);et_play.setText("0.0");bt_0.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v){str_display.append("0");et_play.setText(str_display.toString());}});bt_1.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v){str_display.append("1");et_play.setText(str_display.toString());}});bt_2.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v){str_display.append("2");et_play.setText(str_display.toString());}});bt_3.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v){str_display.append("3");et_play.setText(str_display.toString());}});bt_4.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v){str_display.append("4");et_play.setText(str_display.toString());}});bt_5.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v){str_display.append("5");et_play.setText(str_display.toString());}});bt_6.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v){str_display.append("6");et_play.setText(str_display.toString());}});bt_7.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v){str_display.append("7");et_play.setText(str_display.toString());}});bt_8.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v){str_display.append("8");et_play.setText(str_display.toString());}});bt_9.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v){str_display.append("9");et_play.setText(str_display.toString());}});bt_point.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v){if (flag){str_display.append(".");flag = false;}}});bt_back.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v){if (str_display.length() != 0){str_display.deleteCharAt(str_display.length() - 1);et_play.setText(str_display.toString());}}});bt_add.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v){str_oper = "+";if (!(str_display.toString() == "")){num1 += Double.parseDouble(str_display.toString());str_display = new StringBuffer("");}if (!(str_result == null)){num1 = Double.parseDouble(str_result);str_result = null;}et_play.setText(String.valueOf(num1));flag = true;}});bt_sub.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v){str_oper = "-";if (!b_sub && !(str_display.toString() == "")){num1 = Double.parseDouble(str_display.toString());et_play.setText(String.valueOf(num1));str_display = new StringBuffer("");b_sub = true;} else{if (!(str_display.toString() == "")){num1 -=Double.parseDouble(str_display.toString());str_display = new StringBuffer("");}if (!(str_result == null)){num1 = Double.parseDouble(str_result);str_result = null;}et_play.setText(String.valueOf(num1));}flag = true;}});bt_multiply.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v){str_oper = "*";if (!b_mul && !(str_display.toString() == "")){num1 = Double.parseDouble(str_display.toString());et_play.setText(String.valueOf(num1));str_display = new StringBuffer("");b_mul = true;} else{if (!(str_display.toString() == "")){num1 *=Double.parseDouble(str_display.toString());str_display = new StringBuffer("");}if (!(str_result == null)){num1 = Double.parseDouble(str_result);str_result = null;}et_play.setText(String.valueOf(num1));}flag = true;}});bt_divide.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v){str_oper = "/";if (!b_div && !(str_display.toString() == "")){num1 = Double.parseDouble(str_display.toString());et_play.setText(String.valueOf(num1));str_display = new StringBuffer("");b_div = true;} else{if (!(str_display.toString() == "")){if(Double.parseDouble(str_display.toString()) == 0){Toast.makeText(Android_calculatorActivity.this,"除数不能为0!",Toast.LENGTH_LONG).show();} else{num1 /=Double.parseDouble(str_display.toString());str_display = new StringBuffer("");}}if (!(str_result == null)){num1 = Double.parseDouble(str_result);str_result = null;}et_play.setText(String.valueOf(num1));}flag = true;}});bt_clear.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v){str_oper = "+";str_display = new StringBuffer("");str_result = null;num1 = 0;num2 = 0;flag = true;b_sub = false;b_mul = false;b_div = false;et_play.setText("0.0");}});bt_equal.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v){if (str_oper.equals("+")){num2 = Double.parseDouble(str_display.toString());str_result = String.valueOf((num1 + num2));et_play.setText(str_result);str_display = new StringBuffer("");}if (str_oper.equals("-")){num2 = Double.parseDouble(str_display.toString());str_result = String.valueOf((num1 - num2));et_play.setText(str_result);str_display = new StringBuffer("");}if (str_oper.equals("*")){num2 = Double.parseDouble(str_display.toString());str_result = String.valueOf((num1 * num2));et_play.setText(str_result);str_display = new StringBuffer("");}if (str_oper.equals("/")){num2 = Double.parseDouble(str_display.toString());if (!(num2 == 0)){str_result = String.valueOf((num1 / num2));et_play.setText(str_result);} else{Toast.makeText(Android_calculatorActivity.this,"除数不能为0!", Toast.LENGTH_LONG).show();}str_display = new StringBuffer("");}}});}。
android简单计算器代码————————————————————————————————作者:————————————————————————————————日期:2package hua.xing.demo;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 CalculatordemoActivity extends Activity implements OnClickListener { /** Called when the activity is first created。
*/private Button but0 = null;private Button but1 = null;private Button but2 = null;private Button but3 = null;private Button but4 = null;private Button but5 = null;private Button but6 = null;private Button but7 = null;private Button but8 = null;private Button but9 = null;private Button dim = null;private Button add = null;private Button sub = null;private Button mult = null;private Button div = null;private Button equ = null;private EditText etext = null;private double value = 0;private String str1 = null;private String tem = ””;private String sign = ”a";@Overridepublic void onCreate(Bundle savedInstanceState){ super。
A n d r o i d计算器代码编写<?xml version="1.0" encoding="utf-8"?><RelativeLayoutxmlns:android="/apk/res/android" android:padding="10px"android:layout_width="wrap_content"android:layout_height="wrap_content"><TextViewandroid:id="@+id/label"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="@string/hello"/><EditTextandroid:id="@+id/factor1"android:layout_height="wrap_content"android:layout_width="fill_parent"android:layout_below="@id/label"android:layout_margin="5px"></EditText><Buttonandroid:id="@+id/dig1"android:layout_width="50px"android:layout_height="wrap_content"android:layout_below="@id/factor1"android:text="1"android:textSize="30px"/><Buttonandroid:id="@+id/dig2"android:layout_width="50px"android:layout_height="wrap_content"android:layout_below="@id/factor1"android:layout_toRightOf="@id/dig1"android:text="2"android:textSize="30px"/><Buttonandroid:id="@+id/dig3"android:layout_width="50px"android:layout_height="wrap_content"android:layout_below="@id/factor1"android:layout_toRightOf="@id/dig2" android:text="3"android:textSize="30px"/><Buttonandroid:id="@+id/dig4"android:layout_width="50px"android:layout_height="wrap_content" android:layout_below="@id/dig1" android:text="4"android:textSize="30px"/><Buttonandroid:id="@+id/dig5"android:layout_width="50px"android:layout_height="wrap_content" android:layout_below="@id/dig1" android:layout_toRightOf="@id/dig4" android:text="5"android:textSize="30px"/><Buttonandroid:id="@+id/dig6"android:layout_width="50px"android:layout_height="wrap_content" android:layout_below="@id/dig1" android:layout_toRightOf="@id/dig5" android:text="6"android:textSize="30px"/><Buttonandroid:id="@+id/dig7"android:layout_width="50px"android:layout_height="wrap_content" android:layout_below="@id/dig4" android:text="7"android:textSize="30px"/><Buttonandroid:id="@+id/dig8"android:layout_width="50px"android:layout_height="wrap_content" android:layout_below="@id/dig4" android:layout_toRightOf="@id/dig7"android:text="8"android:textSize="30px"/><Buttonandroid:id="@+id/dig9"android:layout_width="50px"android:layout_height="wrap_content" android:layout_below="@id/dig4" android:layout_toRightOf="@id/dig8" android:text="9"android:textSize="30px"/><Buttonandroid:id="@+id/dig0"android:layout_width="50px"android:layout_height="wrap_content" android:layout_below="@id/dig4" android:layout_toRightOf="@id/dig9" android:text="0"android:textSize="30px"/><Buttonandroid:id="@+id/add"android:layout_width="50px"android:layout_height="wrap_content" android:layout_below="@id/factor1" android:layout_toRightOf="@id/dig3" android:textSize="30px"android:text="@string/add"android:gravity="center"/><Buttonandroid:id="@+id/sub"android:layout_width="50px"android:layout_height="wrap_content" android:layout_toRightOf="@id/add" android:layout_alignTop="@id/add" android:textSize="30px"android:gravity="center"android:text="@string/sub"/><Buttonandroid:id="@+id/mult"android:layout_width="50px"android:layout_height="wrap_content" android:layout_toRightOf="@id/dig6" android:layout_alignTop="@id/dig6" android:textSize="30px"android:gravity="center"android:text="@string/mult"/><Buttonandroid:id="@+id/divid"android:layout_width="50px"android:layout_height="wrap_content" android:layout_toRightOf="@id/mult" android:layout_alignTop="@id/mult" android:textSize="30px"android:gravity="center"android:text="@string/divid"/><Buttonandroid:id="@+id/clear"android:layout_width="150px" android:layout_height="wrap_content" android:layout_toRightOf="@id/sub" android:layout_alignTop="@id/sub" android:gravity="center"android:textSize="30px"android:text="C"/><Buttonandroid:id="@+id/dim"android:layout_width="50px"android:layout_height="wrap_content" android:layout_toRightOf="@id/dig0" android:layout_alignTop="@id/dig0" android:gravity="center"android:textSize="30px"android:text="."/><Buttonandroid:id="@+id/sqr"android:layout_width="150px" android:layout_height="wrap_content" android:layout_toRightOf="@id/divid" android:layout_alignTop="@id/divid"android:gravity="center"android:textSize="30px"android:text="sqr"/><Buttonandroid:id="@+id/caculate"android:layout_height="wrap_content"android:layout_width="150px"android:layout_toRightOf="@id/dim"android:layout_alignTop="@id/dim"android:gravity="center"android:textSize="30px"android:text="="/></RelativeLayout>import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class Activity01 extends Activity implements OnClickListener {/** Called when the activity is first created. */private Button add,sub,mult,divid,caculate,clear;private Button dig0,dig1,dig2,dig3,dig4,dig5,dig6,dig7,dig8,dig9,dim,sqr; private EditText factor1;private String factoronestr,factortwostr;double value=0;String symbol="a";String tem="";@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.main);clear=(Button)findViewById(R.id.clear);add=(Button)findViewById(R.id.add);sub=(Button)findViewById(R.id.sub);mult=(Button)findViewById(R.id.mult);divid=(Button)findViewById(R.id.divid); caculate=(Button)findViewById(R.id.caculate); sqr=(Button)findViewById(R.id.sqr);dig1=(Button)findViewById(R.id.dig1);dig3=(Button)findViewById(R.id.dig3);dig2=(Button)findViewById(R.id.dig2);dig4=(Button)findViewById(R.id.dig4);dig5=(Button)findViewById(R.id.dig5);dig6=(Button)findViewById(R.id.dig6);dig7=(Button)findViewById(R.id.dig7);dig8=(Button)findViewById(R.id.dig8);dig9=(Button)findViewById(R.id.dig9);dig0=(Button)findViewById(R.id.dig0);dim=(Button)findViewById(R.id.dim);factor1=(EditText)findViewById(R.id.factor1); add.setOnClickListener(new addlistener()); sub.setOnClickListener(new sublistener()); mult.setOnClickListener(new multlistener()); divid.setOnClickListener(new dividlistener()); caculate.setOnClickListener(new listener()); clear.setOnClickListener(new clearlistener()); sqr.setOnClickListener(new sqrlistener());dig1.setOnClickListener(this);dig3.setOnClickListener(this);dig2.setOnClickListener(this);dig4.setOnClickListener(this);dig5.setOnClickListener(this);dig6.setOnClickListener(this);dig7.setOnClickListener(this);dig8.setOnClickListener(this);dig9.setOnClickListener(this);dig0.setOnClickListener(this);dim.setOnClickListener(this);}@Overridepublic void onClick(View v){if(v.equals(dig3)){tem=tem+"3";factor1.setText(tem);}if(v.equals(dig1)){tem=tem+"1";factor1.setText(tem);}if(v.equals(dig2)){tem=tem+"2";factor1.setText(tem);}if(v.equals(dig4)){tem=tem+"4";factor1.setText(tem);}if(v.equals(dig5)){tem=tem+"5";factor1.setText(tem);}if(v.equals(dig6)){tem=tem+"6";factor1.setText(tem);}if(v.equals(dig7)){tem=tem+"7";factor1.setText(tem);}if(v.equals(dig8)){tem=tem+"8";factor1.setText(tem);}if(v.equals(dig9)){tem=tem+"9";factor1.setText(tem);}if(v.equals(dig0)){tem=tem+"0";factor1.setText(tem);}if(v.equals(dim)){tem=tem+".";factor1.setText(tem);}}class addlistener implements OnClickListener{@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubfactoronestr=factor1.getText().toString();if(factoronestr.equals("")){}elseif(symbol=="a"){factoronestr=factor1.getText().toString();double factoronedouble=Double.parseDouble(factoronestr); value=factoronedouble;factor1.setText("");}elseif(symbol=="*"){factoronestr=factor1.getText().toString();double factoronedouble=Double.parseDouble(factoronestr); value=value*factoronedouble;factor1.setText("");}elseif(symbol=="-"){factoronestr=factor1.getText().toString();double factoronedouble=Double.parseDouble(factoronestr); value=value-factoronedouble;factor1.setText("");}elseif(symbol=="/"){factoronestr=factor1.getText().toString();double factoronedouble=Double.parseDouble(factoronestr); value=value/factoronedouble;factor1.setText("");}else{factoronestr=factor1.getText().toString();double factoronedouble=Double.parseDouble(factoronestr); value=factoronedouble+value;factor1.setText("");}symbol="+";tem="";}}class sublistener implements OnClickListener{@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubfactoronestr=factor1.getText().toString();if(factoronestr.equals("")){}elseif(symbol=="a"){factoronestr=factor1.getText().toString();double factoronedouble=Double.parseDouble(factoronestr); value=factoronedouble;factor1.setText("");}elseif(symbol=="*"){factoronestr=factor1.getText().toString();double factoronedouble=Double.parseDouble(factoronestr); value=value*factoronedouble;factor1.setText("");}elseif(symbol=="+"){factoronestr=factor1.getText().toString();double factoronedouble=Double.parseDouble(factoronestr); value=value+factoronedouble;factor1.setText("");}elseif(symbol=="/"){factoronestr=factor1.getText().toString();double factoronedouble=Double.parseDouble(factoronestr); value=value/factoronedouble;factor1.setText("");}else{factoronestr=factor1.getText().toString();double factoronedouble=Double.parseDouble(factoronestr); value=value-factoronedouble;factor1.setText("");}symbol="-";tem="";}}class multlistener implements OnClickListener{@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubfactoronestr=factor1.getText().toString();if(factoronestr.equals("")){}elseif(symbol=="a"){factoronestr=factor1.getText().toString();double factoronedouble=Double.parseDouble(factoronestr); value=factoronedouble;factor1.setText("");}elseif(symbol=="+"){factoronestr=factor1.getText().toString();double factoronedouble=Double.parseDouble(factoronestr); value=value+factoronedouble;factor1.setText("");}elseif(symbol=="-"){factoronestr=factor1.getText().toString();double factoronedouble=Double.parseDouble(factoronestr); value=value-factoronedouble;factor1.setText("");}elseif(symbol=="/"){factoronestr=factor1.getText().toString();double factoronedouble=Double.parseDouble(factoronestr); value=value/factoronedouble;factor1.setText("");}else{factoronestr=factor1.getText().toString();double factoronedouble=Double.parseDouble(factoronestr); value=factoronedouble*value;factor1.setText("");}symbol="*";tem="";}}class dividlistener implements OnClickListener{@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubfactoronestr=factor1.getText().toString();if(factoronestr.equals("")){}elseif(symbol=="a"){factoronestr=factor1.getText().toString();double factoronedouble=Double.parseDouble(factoronestr); value=factoronedouble;factor1.setText("");}elseif(symbol=="*"){factoronestr=factor1.getText().toString();double factoronedouble=Double.parseDouble(factoronestr); value=value*factoronedouble;factor1.setText("");}elseif(symbol=="-"){factoronestr=factor1.getText().toString();double factoronedouble=Double.parseDouble(factoronestr); value=value-factoronedouble;factor1.setText("");}elseif(symbol=="+"){factoronestr=factor1.getText().toString();double factoronedouble=Double.parseDouble(factoronestr); value=value+factoronedouble;factor1.setText("");}else{factoronestr=factor1.getText().toString();double factoronedouble=Double.parseDouble(factoronestr); value=value/factoronedouble;factor1.setText("");}symbol="/";tem="";}}class clearlistener implements OnClickListener{@Overridepublic void onClick(View v) {// TODO Auto-generated method stubfactor1.setText(null);symbol="a";tem="";}}class listener implements OnClickListener{@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubfactortwostr=factor1.getText().toString();double factortwodouble=Double.parseDouble(factortwostr); if(symbol=="+"){value=value+factortwodouble;factor1.setText(value+"");value=0;symbol="a";}if(symbol=="-"){value=value-factortwodouble;factor1.setText(value+"");value=0;symbol="a";}if(symbol=="*"){value=value*factortwodouble;factor1.setText(value+"");value=0;symbol="a";}if(symbol=="/"){value=value/factortwodouble;if(value%1==0){factor1.setText((int)value+""); }else{factor1.setText(value+"");}value=0;symbol="a";}tem="";}}class sqrlistener implements OnClickListener{@Overridepublic void onClick(View v) {// TODO Auto-generated method stubfactoronestr=factor1.getText().toString();factoronestr=factor1.getText().toString();if(factoronestr.equals("")){}else{double factoronedouble=Double.parseDouble(factoronestr); value=StrictMath.pow(factoronedouble, 0.5);factor1.setText(""+value);value=0;symbol="a";}}}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// TODO Auto-generated method stubmenu.add(0, 1, 1, "exit");menu.add(0,2,2,"about");return super.onCreateOptionsMenu(menu);}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// TODO Auto-generated method stubif(item.getItemId()==1){finish();}if(item.getItemId()==2){Intent intent=new Intent();intent.setClass(Activity01.this, AboutActivity.class);Activity01.this.startActivity(intent);}return super.onOptionsItemSelected(item); }}。
Android计算器编写代码其实这个安卓计算机,所有的后台思想与《》是⼀模⼀样的。
Win窗体程序移植到安卓,从C#到Java其实很简单的,因为两者的基本语法都很相像,唯⼀的难点是安卓的xml布局部分,不像C#窗体能够直接拖。
还是如下图⼀个能够完成基本四则运算的计算器:先在res\values\strings.xml设置按钮相应的字体,以免布局⽂件警告满天飞:<?xml version="1.0" encoding="utf-8"?><resources><string name="app_name">计算器</string><string name="bt_1">1</string><string name="bt_2">2</string><string name="bt_3">3</string><string name="bt_4">4</string><string name="bt_5">5</string><string name="bt_6">6</string><string name="bt_7">7</string><string name="bt_8">8</string><string name="bt_9">9</string><string name="bt_0">0</string><string name="bt_point">.</string><string name="bt_ce">CE</string><string name="bt_plus">+</string><string name="bt_minus">-</string><string name="bt_multi">×</string><string name="bt_div">÷</string><string name="bt_result">=</string></resources>之后,布局部分采⽤了《【Android】关于百分⽐布局多个LinearLayout嵌套时出现的问题与解决⽅案》(点击打开链接)的思想,具体如下图,⼀个TextView、⼀个EditText,皆直接⽤match_parent占据整⾏的宽度,之后利⽤LinearLayout与TableLayout作横向⽐例的划分。
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="/res/android" android:padding="10px"android:layout_width="wrap_content"android:layout_height="wrap_content"><TextViewandroid:id="@+id/label"android:layout_width="fill_parent"android:layout_height="wrap_content" android:text="@string/hello"/><EditTextandroid:id="@+id/factor1"android:layout_height="wrap_content" android:layout_width="fill_parent"android:layout_below="@id/label"android:layout_margin="5px"></EditText><Buttonandroid:id="@+id/dig1"android:layout_width="50px"android:layout_height="wrap_content" android:layout_below="@id/factor1"android:text="1"android:textSize="30px"/><Buttonandroid:id="@+id/dig2"android:layout_width="50px"android:layout_height="wrap_content" android:layout_below="@id/factor1"android:layout_toRightOf="@id/dig1"android:text="2"android:textSize="30px"/><Buttonandroid:id="@+id/dig3"android:layout_width="50px"android:layout_height="wrap_content" android:layout_below="@id/factor1"android:layout_toRightOf="@id/dig2" android:text="3"android:textSize="30px"/><Buttonandroid:id="@+id/dig4"android:layout_width="50px"android:layout_height="wrap_content" android:layout_below="@id/dig1" android:text="4"android:textSize="30px"/><Buttonandroid:id="@+id/dig5"android:layout_width="50px"android:layout_height="wrap_content" android:layout_below="@id/dig1" android:layout_toRightOf="@id/dig4" android:text="5"android:textSize="30px"/><Buttonandroid:id="@+id/dig6"android:layout_width="50px"android:layout_height="wrap_content" android:layout_below="@id/dig1" android:layout_toRightOf="@id/dig5" android:text="6"android:textSize="30px"/><Buttonandroid:id="@+id/dig7"android:layout_width="50px"android:layout_height="wrap_content" android:layout_below="@id/dig4" android:text="7"android:textSize="30px"/><Buttonandroid:id="@+id/dig8"android:layout_width="50px"android:layout_height="wrap_content" android:layout_below="@id/dig4" android:layout_toRightOf="@id/dig7"android:text="8"android:textSize="30px"/><Buttonandroid:id="@+id/dig9"android:layout_width="50px"android:layout_height="wrap_content" android:layout_below="@id/dig4" android:layout_toRightOf="@id/dig8" android:text="9"android:textSize="30px"/><Buttonandroid:id="@+id/dig0"android:layout_width="50px"android:layout_height="wrap_content" android:layout_below="@id/dig4" android:layout_toRightOf="@id/dig9" android:text="0"android:textSize="30px"/><Buttonandroid:id="@+id/add"android:layout_width="50px"android:layout_height="wrap_content" android:layout_below="@id/factor1" android:layout_toRightOf="@id/dig3" android:textSize="30px"android:text="@string/add"android:gravity="center"/><Buttonandroid:id="@+id/sub"android:layout_width="50px"android:layout_height="wrap_content" android:layout_toRightOf="@id/add" android:layout_alignTop="@id/add" android:textSize="30px"android:gravity="center"android:text="@string/sub"/><Buttonandroid:id="@+id/mult"android:layout_width="50px"。
从零开始学android实现计算器功能⽰例分享(计算器源码)下⾯是效果展⽰:复制代码代码如下:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><LinearLayout android:layout_width="fill_parent"android:layout_height="wrap_content"><TextViewandroid:id="@+id/tvResult"android:layout_width="fill_parent"android:layout_height="wrap_content"android:height="50dp"android:text="@string/tvResult"/></LinearLayout><LinearLayout android:layout_width="fill_parent"android:layout_height="wrap_content"><Buttonandroid:id="@+id/btnBackspace"android:layout_width="wrap_content"android:layout_height="wrap_content"android:width="150dp"android:layout_marginLeft="10dp"android:text="@string/btnbackspace"/><Buttonandroid:id="@+id/btnCE"android:layout_width="wrap_content"android:layout_height="wrap_content"android:width="150dp"android:text="@string/btnCE"/></LinearLayout><LinearLayout android:layout_width="fill_parent"android:layout_height="wrap_content"><Buttonandroid:id="@+id/btn7"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="10dp"android:width="75dp"android:text="@string/btn7"/><Buttonandroid:id="@+id/btn8"android:layout_width="wrap_content"android:layout_height="wrap_content"android:width="75dp"android:text="@string/btn8"/><Buttonandroid:id="@+id/btnDiv"android:layout_width="wrap_content"android:layout_height="wrap_content"android:width="75dp"android:text="@string/btnDiv"/></LinearLayout><LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content"><Buttonandroid:id="@+id/btn4"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="10dp"android:width="75dp"android:text="@string/btn4"/><Buttonandroid:id="@+id/btn5"android:layout_width="wrap_content"android:layout_height="wrap_content"android:width="75dp"android:text="@string/btn5"/><Buttonandroid:id="@+id/btn6"android:layout_width="wrap_content"android:layout_height="wrap_content"android:width="75dp"android:text="@string/btn6"/><Buttonandroid:id="@+id/btnMul"android:layout_width="wrap_content"android:layout_height="wrap_content"android:width="75dp"android:text="@string/btnMul"/></LinearLayout><LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content"><Buttonandroid:id="@+id/btn1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="10dp"android:width="75dp"android:text="@string/btn1"/><Buttonandroid:id="@+id/btn2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:width="75dp"android:text="@string/btn2"/><Buttonandroid:id="@+id/btn3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:width="75dp"android:text="@string/btn3"/></LinearLayout><LinearLayout android:layout_width="fill_parent"android:layout_height="wrap_content"><Buttonandroid:id="@+id/btn0"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="10dp"android:width="75dp"android:text="@string/btn0"/><Buttonandroid:id="@+id/btnC"android:layout_width="wrap_content"android:layout_height="wrap_content"android:width="75dp"android:text="@string/btnC"/><Buttonandroid:id="@+id/btnEqu"android:layout_width="wrap_content"android:layout_height="wrap_content"android:width="75dp"android:text="@string/btnEqu"/><Buttonandroid:id="@+id/btnSub"android:layout_width="wrap_content"android:layout_height="wrap_content"android:width="75dp"android:text="@string/btnSub"/></LinearLayout></LinearLayout>复制代码代码如下:package com.example.week2;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;import android.app.Activity;public class MainActivity extends Activity implements OnClickListener{ //声明⼀些控件Button btn0=null;Button btn1=null;Button btn2=null;Button btn3=null;Button btn4=null;Button btn5=null;Button btn6=null;Button btn7=null;Button btn8=null;Button btn9=null;Button btnBackspace=null;Button btnCE=null;Button btnMul=null;Button btnDiv=null;Button btnEqu=null;TextView tvResult=null;//声明两个参数。
计算器源码Java程序代码:package ymq.demo03;import android.app.Activity;import android.os.Bundle;import android.view.*;import android.widget.*;public class demo03 extends Activity {/** Called when the activity is first created. */String str="";EditText et;int c=0,flag=0;double b=0.0,g=0.0,f=0.0;View vi;public boolean onCreateOptionsMenu(Menu menu) { // TODO Auto-generated method stubmenu.add(0, 1, 1, "退出");return super.onCreateOptionsMenu(menu);}@Overridepublic boolean onOptionsItemSelected(MenuItem item) { // TODO Auto-generated method stubif(item.getItemId()==1){finish();}return super.onOptionsItemSelected(item);}//计算方法public double calculater(){switch(c){case 0:f=g;break;case 1:f=b+g;break;case 2:f=b-g;break;case 3:f=b*g;break;case 4:f=b/g;break;}b=f;return f;}@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.main);//获得按键final Button number[]=new Button[10];final Button fuhao[]=new Button[11];fuhao[0]=(Button)findViewById(R.id.button01);fuhao[1]=(Button)findViewById(R.id.button02);fuhao[2]=(Button)findViewById(R.id.button03);fuhao[3]=(Button)findViewById(R.id.button04);fuhao[4]=(Button)findViewById(R.id.button05);fuhao[5]=(Button)findViewById(R.id.button06);fuhao[6]=(Button)findViewById(R.id.buttonce);fuhao[7]=(Button)findViewById(R.id.buttonc);fuhao[8]=(Button)findViewById(R.id.zheng);fuhao[9]=(Button)findViewById(R.id.kaifang);fuhao[10]=(Button)findViewById(R.id.pingfang);number[0]=(Button)findViewById(R.id.button0);number[1]=(Button)findViewById(R.id.button1);number[2]=(Button)findViewById(R.id.button2);number[3]=(Button)findViewById(R.id.button3);number[4]=(Button)findViewById(R.id.button4);number[5]=(Button)findViewById(R.id.button5);number[6]=(Button)findViewById(R.id.button6);number[7]=(Button)findViewById(R.id.button7);number[8]=(Button)findViewById(R.id.button8);number[9]=(Button)findViewById(R.id.button9);et=(EditText) findViewById(R.id.textView1);et.setText(str);fuhao[6].setOnClickListener(new View.OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubstr="";et.setText(str);vi=v;}});fuhao[7].setOnClickListener(new View.OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubb=0.0;c=0;g=0.0;str="";et.setText(str);}});fuhao[8].setOnClickListener(new View.OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubif(vi!=fuhao[5]&&str!=""){char ch=str.charAt(0);if(ch=='-')str=str.replace("-","");elsestr="-"+str;et.setText(str);}}});fuhao[9].setOnClickListener(new View.OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubif(str!=""){double a=Double.parseDouble(str);str=Math.sqrt(a)+"";et.setText(str);});fuhao[10].setOnClickListener(new View.OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubif(str!=""){double a=Double.parseDouble(str);str=""+a*a;et.setText(str);}}});//设定数字按键number[0].setOnClickListener(new View.OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubif(flag==1){str="";str+=0;et.setText(str);flag=0;}else{char ch1[];ch1=str.toCharArray();if(!(ch1.length==1&&ch1[0]=='0')){str+=0;et.setText(str);}}vi=v;}});number[1].setOnClickListener(new View.OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubif(flag==1){str="";str+=1;et.setText(str);flag=0;}else{str+=1;et.setText(str);}vi=v;}});number[2].setOnClickListener(new View.OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubif(flag==1){str="";str+=2;et.setText(str);flag=0;}else{str+=2;et.setText(str);}vi=v;}});number[3].setOnClickListener(new View.OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubif(flag==1){str="";str+=3;et.setText(str);flag=0;}else{str+=3;et.setText(str);}vi=v;}});number[4].setOnClickListener(new View.OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubif(flag==1){str="";str+=4;et.setText(str);flag=0;}else{str+=4;et.setText(str);}vi=v;}});number[5].setOnClickListener(new View.OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubif(flag==1){str="";str+=5;et.setText(str);flag=0;}else{str+=5;et.setText(str);}vi=v;}});number[6].setOnClickListener(new View.OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubif(flag==1){str="";str+=6;et.setText(str);flag=0;}else{str+=6;et.setText(str);}vi=v;}});number[7].setOnClickListener(new View.OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubif(flag==1){str="";str+=7;et.setText(str);flag=0;}else{str+=7;et.setText(str);}vi=v;}});number[8].setOnClickListener(new View.OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubif(flag==1){str="";str+=8;et.setText(str);flag=0;}else{str+=8;et.setText(str);}vi=v;}});number[9].setOnClickListener(new View.OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubif(flag==1){str="";str+=9;et.setText(str);flag=0;}else{str+=9;et.setText(str);}vi=v;}});//设定符号键//加fuhao[0].setOnClickListener(new View.OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubif(str!=""){if(vi==fuhao[0]||vi==fuhao[1]||vi==fuhao[2]||vi==fuhao[3]){c=1;}else{g=Double.parseDouble(str);calculater();str=""+f;et.setText(str);c=1;flag=1;}}}});//减fuhao[1].setOnClickListener(new View.OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubif(str!=""){if(vi==fuhao[0]||vi==fuhao[1]||vi==fuhao[2]||vi==fuhao[3]){c=2;}else{g=Double.parseDouble(str);calculater();str=""+f;et.setText(str);c=2;flag=1;vi=v;}}}});//乘fuhao[2].setOnClickListener(new View.OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubif(str!=""){if(vi==fuhao[0]||vi==fuhao[1]||vi==fuhao[2]||vi==fuhao[3]){c=3;}else{g=Double.parseDouble(str);calculater();str=""+f;et.setText(str);flag=1;vi=v;}}}});//除fuhao[3].setOnClickListener(new View.OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubif(str!=""){if(vi==fuhao[0]||vi==fuhao[1]||vi==fuhao[2]||vi==fuhao[3]){c=4;}else{g=Double.parseDouble(str);calculater();str=""+f;et.setText(str);c=4;flag=1;vi=v;}}}});//等号fuhao[4].setOnClickListener(new View.OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubif(str!=""&&vi!=fuhao[0]&&vi!=fuhao[1]&&vi!=fuhao[2]&&vi!=fuhao[3 ]){g=Double.parseDouble(str);calculater();str=""+f;et.setText(str);flag=1;vi=v;}}});//小数点fuhao[5].setOnClickListener(new View.OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubif(str==""){str+=".";et.setText(str);}else{char ch1[];int x=0;ch1=str.toCharArray();for(int i=0;i<ch1.length;i++)if(ch1[i]=='.')x++;if(x==0){str+=".";et.setText(str);}}}});}}布局文件:main.xml<?xml version="1.0"encoding="utf-8"?><LinearLayoutandroid:background="#ff808080"xmlns:android="/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical"android:layout_gravity="center_vertical"android:id="@+id/zhengfu"><EditTextandroid:text="TextView"android:id="@+id/textView1"android:textSize="25sp"android:textColor="#000000"android:layout_gravity="center"android:gravity="left"android:cursorVisible="false"android:editable = "false"android:layout_height="wrap_content"android:layout_width="fill_parent"android:layout_marginLeft="4dip"android:layout_marginRight="4dip"android:layout_marginTop="4dip"android:layout_weight="1.5"></EditText><TableLayoutandroid:id="@+id/tablelayout"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_margin="4dip"android:layout_weight="10"><LinearLayoutandroid:id="@+id/linearlayout02"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_weight="1"><Buttonandroid:layout_width="50dip"android:layout_height="fill_parent"android:layout_weight="1"android:textSize="25sp"android:id="@+id/buttonc"android:text="@string/shan"></Button><Buttonandroid:layout_width="50dip"android:layout_height="fill_parent"android:layout_weight="1"android:textSize="25sp"android:id="@+id/buttonce" android:text="@string/shanchu"></Button></LinearLayout><TableRowandroid:id="@+id/row0"android:layout_width="fill_parent"android:layout_height="fill_parent"android:layout_weight="1"><Buttonandroid:layout_width="40dip"android:layout_height="fill_parent"android:layout_weight="1"android:textSize="25sp"android:text="@string/one" android:id="@+id/button1"></Button><Buttonandroid:layout_width="40dip"android:layout_height="fill_parent"android:layout_weight="1"android:textSize="25sp"android:text="@string/two" android:id="@+id/button2"></Button><Buttonandroid:layout_width="40dip"android:layout_height="fill_parent"android:layout_weight="1"android:textSize="25sp"android:text="@string/three" android:id="@+id/button3"></Button><Buttonandroid:layout_width="40dip"android:layout_height="fill_parent"android:layout_weight="1"android:textSize="25sp"android:text="@string/jia" android:id="@+id/button01"></Button></TableRow><TableRowandroid:id="@+id/row1"android:layout_width="fill_parent"android:layout_height="fill_parent"android:layout_weight="1"><Buttonandroid:layout_width="40dip"android:layout_height="fill_parent"android:layout_weight="1"android:textSize="25sp"android:text="@string/fore" android:id="@+id/button4"></Button><Buttonandroid:layout_width="40dip"android:layout_height="fill_parent"android:layout_weight="1"android:textSize="25sp"android:text="@string/five" android:id="@+id/button5"></Button><Buttonandroid:layout_width="40dip"android:layout_height="fill_parent"android:layout_weight="1"android:textSize="25sp"android:text="@string/six" android:id="@+id/button6"></Button><Buttonandroid:layout_width="40dip"android:layout_height="fill_parent"android:layout_weight="1"android:textSize="25sp"android:text="@string/jian" android:id="@+id/button02"></Button></TableRow><TableRowandroid:id="@+id/row2"android:layout_width="fill_parent"android:layout_height="fill_parent"android:layout_weight="1"><Buttonandroid:layout_width="40dip"android:layout_height="fill_parent"android:layout_weight="1"android:textSize="25sp"android:text="@string/seven" android:id="@+id/button7"></Button><Buttonandroid:layout_width="40dip"android:layout_height="fill_parent"android:layout_weight="1"android:textSize="25sp"android:text="@string/eight" android:id="@+id/button8"></Button><Buttonandroid:layout_width="40dip"android:layout_height="fill_parent"android:layout_weight="1"android:textSize="25sp"android:text="@string/nine" android:id="@+id/button9"></Button><Buttonandroid:layout_width="40dip"android:layout_height="fill_parent"android:layout_weight="1"android:textSize="25sp"android:text="@string/cheng" android:id="@+id/button03"></Button></TableRow><TableRowandroid:id="@+id/row3"android:layout_width="fill_parent"android:layout_height="fill_parent"android:layout_weight="1"><Buttonandroid:layout_width="40dip"android:layout_height="fill_parent"android:layout_weight="1"android:textSize="25sp"android:text="@string/zero" android:id="@+id/button0"></Button><Buttonandroid:layout_width="40dip"android:layout_height="fill_parent"android:layout_weight="1"android:textSize="25sp"android:id="@+id/button06" android:text="@string/dihao"></Button><Buttonandroid:layout_width="40dip"android:layout_height="fill_parent"android:layout_weight="1"android:textSize="25sp"android:text="@string/dengyu" android:id="@+id/button05"></Button><Buttonandroid:layout_width="40dip"android:layout_height="fill_parent"android:layout_weight="1"android:textSize="25sp"android:text="@string/chu" android:id="@+id/button04"></Button></TableRow><LinearLayoutandroid:id="@+id/tableRow1"android:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:layout_weight="1"><Buttonandroid:textSize="25sp"android:layout_height="fill_parent"android:layout_width="50dp"android:layout_weight="1" android:text="@string/zhengfu"android:id="@+id/zheng"></Button><Buttonandroid:id="@+id/pingfang"android:textSize="25sp"android:layout_height="fill_parent"android:layout_width="50dp"android:layout_weight="1" android:text="@string/ping"></Button><Buttonandroid:id="@+id/kaifang"android:textSize="25sp"android:layout_height="fill_parent"android:layout_width="50dp"android:layout_weight="1" android:text="@string/kai"></Button></LinearLayout></TableLayout></LinearLayout>主配置文件:<?xml version="1.0"encoding="utf-8"?><manifest xmlns:android="/apk/res/android"package="ymq.demo03"android:versionCode="1"android:versionName="1.0"><uses-sdk android:minSdkVersion="7"/><application android:icon="@drawable/icon"android:label="@string/app_name"><activity android:name=".demo03"android:label="@string/app_name"><intent-filter><action android:name="android.intent.action.MAIN"/><categoryandroid:name="UNCHER"/></intent-filter></activity></application></manifest>。
这是本人自己用安卓编写的计算器,代码的优化可能有所问题,不过大家都在学习阶段,欢迎大家批评指正,还是上源码吧。
先来运行图package com.example.nanchen.exam_1_1;import android.content.DialogInterface;import android.support.v7.app.AlertDialog;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TextView;public class MainActivity extends AppCompatActivity implements View.OnClickListener{private Button btn0;private Button btn1;private Button btn2;private Button btn3;private Button btn4;private Button btn5;private Button btn6;private Button btn7;private Button btn8;private Button btn9;private Button btnAdd;private Button btnSub;private Button btnMul;private Button btnDiv;private Button btnDec;private Button btnEqual;private Button btnClear;private Button btnBackSpace;private TextView textView_result;double num1 = 0,num2 = 0,result = 0;//定义存储结果和两个操作数boolean isCheckEqu = false;//检测是否点击了等于int op = 0;//定义运算符boolean hasDec = false;boolean hasOp = false;@Overrideprotected void onCreate Bundle savedInstanceStatesuper.onCreate savedInstanceState;setContentView yout.activity_main;textView_result = TextView findViewById R.id.result;btn0 = Button findViewById R.id.btn0;btn1 = Button findViewById R.id.btn1;btn2 = Button findViewById R.id.btn2;btn3 = Button findViewById R.id.btn3;btn4 = Button findViewById R.id.btn4;btn5 = Button findViewById R.id.btn5;btn6 = Button findViewById R.id.btn6;btn7 = Button findViewById R.id.btn7;btn8 = Button findViewById R.id.btn8;btn9 = Button findViewById R.id.btn9;btnAdd = Button findViewById R.id.btn10;btnSub = Button findViewById R.id.btn11;btnMul = Button findViewById R.id.btn12;btnDiv = Button findViewById R.id.btn13;btnDec = Button findViewById R.id.btn14;btnEqual = Button findViewById R.id.btn15;btnClear = Button findViewById R.id.clear;btnBackSpace = Button findViewById R.id.backSpace;btn0.setOnClickListener this;btn1.setOnClickListener this;btn2.setOnClickListener this;btn3.setOnClickListener this;btn4.setOnClickListener this;btn5.setOnClickListener this;btn6.setOnClickListener this;btn7.setOnClickListener this;btn8.setOnClickListener this;btn9.setOnClickListener this;btnAdd.setOnClickListener this;btnSub.setOnClickListener this;btnDec.setOnClickListener this;btnDiv.setOnClickListener this;btnEqual.setOnClickListener this;btnMul.setOnClickListener this;btnClear.setOnClickListener this;btnBackSpace.setOnClickListener this;@Overridepublic void onClick View vswitch v.getIdcase R.id.btn0:if isCheckEqutextView_result.setText null;isCheckEqu=false;String myString0 =textView_result.getText.toString;if myString0.equals"0"myString0 = "";myString0 += "0";textView_result.setText myString0;break;case R.id.btn1:if isCheckEqutextView_result.setText null;isCheckEqu=false;String myString1 =textView_result.getText.toString;if myString1.equals"0"myString1 = "";myString1 += "1";textView_result.setText myString1;break;case R.id.btn2:if isCheckEqutextView_result.setText null;isCheckEqu=false;String myString2 =textView_result.getText.toString;if myString2.equals"0"myString2 = "";myString2 += "2";textView_result.setText myString2;break;case R.id.btn3:if isCheckEqutextView_result.setText null;isCheckEqu=false;String myString3 =textView_result.getText.toString;if myString3.equals"0"myString3 = "";myString3 += "3";textView_result.setText myString3;break;case R.id.btn4:if isCheckEqutextView_result.setText null;isCheckEqu=false;String myString4 =textView_result.getText.toString;if myString4.equals"0"myString4 = "";myString4 += "4";textView_result.setText myString4;break;case R.id.btn5:if isCheckEqutextView_result.setText null;isCheckEqu=false;String myString5 =textView_result.getText.toString;if myString5.equals"0"myString5 = "";myString5 += "5";textView_result.setText myString5;break;case R.id.btn6:if isCheckEqutextView_result.setText null;isCheckEqu=false;String myString6 =textView_result.getText.toString;if myString6.equals"0"myString6 = "";myString6 += "6";textView_result.setText myString6;break;case R.id.btn7:if isCheckEqutextView_result.setText null;isCheckEqu=false;String myString7 =textView_result.getText.toString;if myString7.equals"0"myString7 = "";myString7 += "7";textView_result.setText myString7;break;case R.id.btn8:if isCheckEqutextView_result.setText null;isCheckEqu=false;String myString8 =textView_result.getText.toString;if myString8.equals"0"myString8 = "";myString8 += "8";textView_result.setText myString8;break;case R.id.btn9:if isCheckEqutextView_result.setText null;isCheckEqu=false;String myString9 =textView_result.getText.toString;if myString9.equals"0"myString9 = "";myString9 += "9";textView_result.setText myString9;break;case R.id.btn10:if hasOpdoEqual;//显示出来当前的答案String myStringAdd =textView_result.getText.toString;if myStringAdd.equals nullreturn;num1 = Double.valueOf myStringAdd;textView_result.setText null;// 这里被清除了op = 1;isCheckEqu = false;hasDec = false;hasOp = true;break;case R.id.btn11:if hasOpdoEqual;String myStringSub =textView_result.getText.toString;if myStringSub.equals nullreturn;num1 = Double.valueOf myStringSub;textView_result.setText null;op = 2;isCheckEqu = false;hasDec = false;hasOp = true;break;case R.id.btn12:if hasOpdoEqual;String myStringMul =textView_result.getText.toString;if myStringMul.equals nullreturn;num1 = Double.valueOf myStringMul;textView_result.setText null;op = 3;isCheckEqu = false;hasDec = false;hasOp = true;break;case R.id.btn13:if hasOpdoEqual;String myStringDiv =textView_result.getText.toString;if myStringDiv.equals nullreturn;num1 = Double.valueOf myStringDiv;textView_result.setText null;op = 4;hasDec = false;isCheckEqu = false;hasOp = true;break;case R.id.btn14:if isCheckEqutextView_result.setText null;isCheckEqu=false;if hasDec//如果已经有小数点了,则弹出一个对话框AlertDialog.Builder builder = new AlertDialog.Builder MainActivity.this;builder.setTitle"警告";builder.setMessage"输入错误,一个数字不能有两个小数点!";builder.setNegativeButton"取消", new DialogInterface.OnClickListener@Overridepublic void onClick DialogInterface dialog, int which;builder.show;return;hasDec = true;String myString14 =textView_result.getText.toString;myString14 += ".";textView_result.setText myString14;break;case R.id.btn15:doEqual;hasOp = false;break;case R.id.backSpace:String myString =textView_result.getText.toString;trytextView_result.setText myString.substring0,myString.length -1;catch Exception etextView_result.setText"0";break;case R.id.clear:textView_result.setText"0";break;default:break;/*** 按下等于*/private void doEqualStringmyStringEqu=textView_result.getText.toString;if myStringEqu.equals nullreturn;num2=Double.valueOf myStringEqu;textView_result.setText null;switch opcase 0:result=num2;break;case 1:result=num1+num2;break;case 2:result=num1-num2;break;case 3:result=num1*num2;break;case 4:result=num1/num2;break;default:result=0;break;textView_result.setText String.valueOf result;isCheckEqu=true;<?xml version="1.0" encoding="utf-8"?>LinearLayoutxmlns:android="/apk/res/android"xmlns:tools="/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context="com.example.nanchen.exam_1_1.MainActivity"<!--显示结果-->LinearLayoutandroid:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"TextViewandroid:layout_width="match_parent"android:layout_height="match_parent"android:id="@+id/result"android:gravity="end"android:textSize="40sp"android:text="@string/zero"LinearLayoutLinearLayoutandroid:layout_width="match_parent"android:layout_height="0dp"android:orientation="horizontal"android:layout_weight="1"Buttonandroid:layout_width="0dp"android:layout_weight="1"android:layout_height="wrap_content"android:text="@string/clear"android:id="@+id/clear"android:textAllCaps="false"android:gravity="center"android:textSize="25sp"Buttonandroid:layout_width="0dp"android:layout_weight="1"android:layout_height="wrap_content"android:text="@string/backspace"android:id="@+id/backSpace"android:textAllCaps="false"android:gravity="center"android:textSize="25sp" LinearLayout<!--789/-->LinearLayoutandroid:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"Buttonandroid:layout_width="0dp"android:text="@string/seven"android:id="@+id/btn7"android:textSize="30sp"android:gravity="center"android:layout_height="wrap_content"android:layout_weight="1"Buttonandroid:layout_width="0dp"android:text="@string/eight"android:id="@+id/btn8"android:textSize="30sp"android:gravity="center"android:layout_height="wrap_content"android:layout_weight="1"Buttonandroid:layout_width="0dp"android:text="@string/nine"android:id="@+id/btn9"android:textSize="30sp"android:gravity="center"android:layout_height="wrap_content"android:layout_weight="1"Buttonandroid:layout_width="0dp"android:text="@string/del"android:id="@+id/btn13"android:textSize="30sp"android:gravity="center"android:layout_height="wrap_content"android:layout_weight="1" LinearLayout<!--456*-->LinearLayoutandroid:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"Buttonandroid:layout_width="0dp"android:text="@string/four"android:id="@+id/btn4"android:textSize="30sp"android:gravity="center"android:layout_height="wrap_content"android:layout_weight="1"Buttonandroid:layout_width="0dp"android:text="@string/five"android:id="@+id/btn5"android:textSize="30sp"android:gravity="center"android:layout_height="wrap_content"android:layout_weight="1"Buttonandroid:layout_width="0dp"android:text="@string/six"android:id="@+id/btn6"android:textSize="30sp"android:gravity="center"android:layout_height="wrap_content"android:layout_weight="1"Buttonandroid:layout_width="0dp"android:text="@string/mul"android:id="@+id/btn12"android:textSize="30sp"android:gravity="center"android:layout_height="wrap_content"android:layout_weight="1" LinearLayout<!--123- -->LinearLayoutandroid:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"Buttonandroid:layout_width="0dp"android:text="@string/one"android:textSize="30sp"android:id="@+id/btn1"android:gravity="center"android:layout_height="wrap_content"android:layout_weight="1"Buttonandroid:layout_width="0dp"android:text="@string/two"android:id="@+id/btn2"android:textSize="30sp"android:gravity="center"android:layout_height="wrap_content"android:layout_weight="1"Buttonandroid:layout_width="0dp"android:text="@string/three"android:id="@+id/btn3"android:textSize="30sp"android:gravity="center"android:layout_height="wrap_content"android:layout_weight="1"Buttonandroid:layout_width="0dp"android:text="@string/sub"android:id="@+id/btn11"android:textSize="30sp"android:gravity="center"android:layout_height="wrap_content"android:layout_weight="1" LinearLayout<!--0.=+-->LinearLayoutandroid:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"Buttonandroid:layout_width="0dp"android:text="@string/zero1"android:id="@+id/btn0"android:textSize="30sp"android:gravity="center"android:layout_height="wrap_content"android:layout_weight="1"Buttonandroid:layout_width="0dp"android:text="@string/dec"android:id="@+id/btn14"android:textSize="30sp"android:gravity="center"android:layout_height="wrap_content"android:layout_weight="1"Buttonandroid:layout_width="0dp"android:text="@string/equal"android:id="@+id/btn15"android:textSize="30sp"android:gravity="center"android:layout_height="wrap_content"android:layout_weight="1"Buttonandroid:layout_width="0dp"android:text="@string/add"android:id="@+id/btn10"android:textSize="30sp"android:gravity="center"android:layout_height="wrap_content"android:layout_weight="1"LinearLayoutLinearLayoutandroid:layout_weight="4"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="0dp"TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="20sp"android:text="@string/string1"TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/string2"android:textSize="20sp"LinearLayoutLinearLayout。
简易计算器Android版(源码)说明:每完成一次计算后,需先clear 清除记忆,当然也可以连算XML布局<?xml version="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical"><TableLayoutandroid:id="@+id/tableLayout1"android:layout_width="match_parent"android:layout_height="wrap_content"android:collapseColumns="4"><TableRowandroid:id="@+id/tableRow_et"android:layout_width="fill_parent"android:layout_height="fill_parent"><EditTextandroid:id="@+id/et"android:layout_width="fill_parent"android:layout_height="fill_parent"android:layout_span="4"android:focusable="false"android:singleLine="true"android:inputType="text"android:gravity="right"></EditText></TableRow><TableRowandroid:id="@+id/tableRow1"android:layout_width="fill_parent"android:layout_height="fill_parent"><Buttonandroid:id="@+id/bt_7"android:layout_width="40px"android:layout_height="40px"android:text="7"/><Buttonandroid:id="@+id/bt_8"android:layout_width="40px"android:layout_height="40px"android:text="8"/><Buttonandroid:id="@+id/bt_9"android:layout_width="40px"android:layout_height="40px"android:text="9"/><Buttonandroid:id="@+id/bt_back"android:layout_width="40px"android:layout_height="40px"android:text="back"/></TableRow><TableRowandroid:id="@+id/tableRow2"android:layout_width="fill_parent"android:layout_height="fill_parent"><Buttonandroid:id="@+id/bt_4"android:layout_width="40px"android:layout_height="40px"android:text="4"/><Buttonandroid:id="@+id/bt_5"android:layout_width="40px"android:layout_height="40px"android:text="5"/><Buttonandroid:id="@+id/bt_6"android:layout_width="40px"android:layout_height="40px"android:text="6"/><Buttonandroid:id="@+id/bt_divide"android:layout_width="40px"android:layout_height="40px"android:text="/"/></TableRow><TableRowandroid:id="@+id/tableRow3"android:layout_width="fill_parent"android:layout_height="fill_parent"><Buttonandroid:id="@+id/bt_1"android:layout_width="40px"android:layout_height="40px"android:text="1"/><Buttonandroid:id="@+id/bt_2"android:layout_width="40px"android:layout_height="40px"android:text="2"/><Buttonandroid:id="@+id/bt_3"android:layout_width="40px"android:layout_height="40px"android:text="3"/><Buttonandroid:id="@+id/bt_multiply"android:layout_width="40px"android:layout_height="40px"android:text="*"/></TableRow><TableRowandroid:id="@+id/tableRow4"android:layout_width="fill_parent"android:layout_height="fill_parent"><Buttonandroid:id="@+id/bt_0"android:layout_width="50px"android:layout_height="40px"android:text="0"/><Buttonandroid:id="@+id/bt_point"android:layout_width="50px"android:layout_height="40px"android:text="."/><Buttonandroid:id="@+id/bt_add"android:layout_width="50px"android:layout_height="40px"android:text="+"/><Buttonandroid:id="@+id/bt_sub"android:layout_width="50px"android:layout_height="40px"android:text="-"/></TableRow><TableRowandroid:id="@+id/tableRow4"android:layout_width="fill_parent"android:layout_height="fill_parent"><Buttonandroid:id="@+id/bt_equal"android:layout_width="fill_parent"android:layout_height="fill_parent"android:layout_span="3"android:text="="/><Buttonandroid:id="@+id/bt_clear"android:layout_width="50px"android:layout_height="40px"android:text="clear"/></TableRow></TableLayout></LinearLayout>源代码:package android.sdk;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;import android.widget.Toast;public class Android_calculatorActivity extends Activity {private Button bt_1;private Button bt_2;private Button bt_3;private Button bt_4;private Button bt_5;private Button bt_6;private Button bt_7;private Button bt_8;private Button bt_9;private Button bt_0;private Button bt_add;private Button bt_sub; // 减private Button bt_multiply; // 乘private Button bt_divide; // 除private Button bt_back;private Button bt_equal; // 等于private Button bt_point; // 点private Button bt_clear; // 清除private EditText et_play; // 显示private String str_oper = "+"; // 运算符private StringBuffer str_display = new StringBuffer();; // 显示private String str_result; // 结果显示private double num1;private double num2;private boolean flag = true; // 小数点个数开关控制;private boolean b_sub, b_mul, b_div; // 运算符开关控制@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(yout.main);bt_0 = (Button) findViewById(R.id.bt_0);bt_1 = (Button) findViewById(R.id.bt_1);bt_2 = (Button) findViewById(R.id.bt_2);bt_3 = (Button) findViewById(R.id.bt_3);bt_4 = (Button) findViewById(R.id.bt_4);bt_5 = (Button) findViewById(R.id.bt_5);bt_6 = (Button) findViewById(R.id.bt_6);bt_7 = (Button) findViewById(R.id.bt_7);bt_8 = (Button) findViewById(R.id.bt_8);bt_9 = (Button) findViewById(R.id.bt_9);bt_add = (Button) findViewById(R.id.bt_add);bt_sub = (Button) findViewById(R.id.bt_sub);bt_multiply = (Button) findViewById(R.id.bt_multiply);bt_divide = (Button) findViewById(R.id.bt_divide);bt_back = (Button) findViewById(R.id.bt_back);bt_equal = (Button) findViewById(R.id.bt_equal); bt_point = (Button) findViewById(R.id.bt_point); bt_clear = (Button) findViewById(R.id.bt_clear); et_play = (EditText) findViewById(R.id.et);et_play.setText("0.0");bt_0.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v){str_display.append("0");et_play.setText(str_display.toString());}});bt_1.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v){str_display.append("1");et_play.setText(str_display.toString());}});bt_2.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v){str_display.append("2");et_play.setText(str_display.toString());}});bt_3.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v){str_display.append("3");et_play.setText(str_display.toString());}});bt_4.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v){str_display.append("4");et_play.setText(str_display.toString());}});bt_5.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v){str_display.append("5");et_play.setText(str_display.toString());}});bt_6.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v){str_display.append("6");et_play.setText(str_display.toString());}});bt_7.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v){str_display.append("7");et_play.setText(str_display.toString());}});bt_8.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v){str_display.append("8");et_play.setText(str_display.toString());}});bt_9.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v){str_display.append("9");et_play.setText(str_display.toString());}});bt_point.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v){if (flag){str_display.append(".");flag = false;}}});bt_back.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v){if (str_display.length() != 0){str_display.deleteCharAt(str_display.length() - 1);et_play.setText(str_display.toString());}}});bt_add.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v){str_oper = "+";if (!(str_display.toString() == "")){num1 += Double.parseDouble(str_display.toString());str_display = new StringBuffer("");}if (!(str_result == null)){num1 = Double.parseDouble(str_result);str_result = null;}et_play.setText(String.valueOf(num1));flag = true;}});bt_sub.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v){str_oper = "-";if (!b_sub && !(str_display.toString() == "")){num1 = Double.parseDouble(str_display.toString());et_play.setText(String.valueOf(num1));str_display = new StringBuffer("");b_sub = true;} else{if (!(str_display.toString() == "")){num1 -=Double.parseDouble(str_display.toString());str_display = new StringBuffer("");}if (!(str_result == null)){num1 = Double.parseDouble(str_result);str_result = null;}et_play.setText(String.valueOf(num1));}flag = true;}});bt_multiply.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v){str_oper = "*";if (!b_mul && !(str_display.toString() == "")){num1 = Double.parseDouble(str_display.toString());et_play.setText(String.valueOf(num1));str_display = new StringBuffer("");b_mul = true;} else{if (!(str_display.toString() == "")){num1 *=Double.parseDouble(str_display.toString());str_display = new StringBuffer("");}if (!(str_result == null)){num1 = Double.parseDouble(str_result);str_result = null;}et_play.setText(String.valueOf(num1));}flag = true;}});bt_divide.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v){str_oper = "/";if (!b_div && !(str_display.toString() == "")){num1 = Double.parseDouble(str_display.toString());et_play.setText(String.valueOf(num1));str_display = new StringBuffer("");b_div = true;} else{if (!(str_display.toString() == "")){if(Double.parseDouble(str_display.toString()) == 0){Toast.makeText(Android_calculatorActivity.this,"除数不能为0!",Toast.LENGTH_LONG).show();} else{num1 /=Double.parseDouble(str_display.toString());str_display = new StringBuffer("");}}if (!(str_result == null)){num1 = Double.parseDouble(str_result);str_result = null;}et_play.setText(String.valueOf(num1));}flag = true;}});bt_clear.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v){str_oper = "+";str_display = new StringBuffer("");str_result = null;num1 = 0;num2 = 0;flag = true;b_sub = false;b_mul = false;b_div = false;et_play.setText("0.0");}});bt_equal.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v){if (str_oper.equals("+")){num2 = Double.parseDouble(str_display.toString());str_result = String.valueOf((num1 + num2));et_play.setText(str_result);str_display = new StringBuffer("");}if (str_oper.equals("-")){num2 = Double.parseDouble(str_display.toString());str_result = String.valueOf((num1 - num2));et_play.setText(str_result);str_display = new StringBuffer("");}if (str_oper.equals("*")){num2 = Double.parseDouble(str_display.toString());str_result = String.valueOf((num1 * num2));et_play.setText(str_result);str_display = new StringBuffer("");}if (str_oper.equals("/")){num2 = Double.parseDouble(str_display.toString());if (!(num2 == 0)){str_result = String.valueOf((num1 / num2));et_play.setText(str_result);} else{Toast.makeText(Android_calculatorActivity.this,"除数不能为0!", Toast.LENGTH_LONG).show();}str_display = new StringBuffer("");}}});}。
1,java语言的,写的不是很,有个不是很好的界面import java.awt.*;import java.awt.event.*;class cal extends WindowAdapter implements WindowListener,ActionListener{boolean h=false;boolean k=false;double a=0.0;double b=0.0;double c=0.0;String v;Frame f;Panel p1,p2,p3;Menu m1,m2,m3;MenuBar s;TextField t;Dialog d,d1;TextArea l,l1;public void dis(){f=new Frame("计算器");Da(f);Me();p1=new Panel();p2=new Panel();p3=new Panel();p2.setLayout(new GridLayout(4,5,5,5));p3.setLayout(new GridLayout(3,4,5,5));t=new TextField("0",25);t.setEditable(false);p1.add(t);f.add(p1,"North");f.setSize(220,320);f.setLocation(200,200);f.setBackground(Color.lightGray);f.addWindowListener(this);Button []b=new Button[32];String[]a={"7","8","9","+","clear","4","5","6","-","sqrt","1","2","3","×","cqrt","0",".","+/-","/","ln","log10","log(x)Y","%","x^y","sin","cos","tan","exp","asin","acos","atan","="};int i,j;for (i=0;i<=19;i++){b[i]=new Button(a[i]);b[i].addActionListener(this);p2.add(b[i]);}for (j=20;j<=31;j++){b[j]=new Button(a[j]);b[j].addActionListener(this);p3.add(b[j]);}f.add(p2,"Center");f.add(p3,"South");f.setV isible(true);}public void Me(){s=new MenuBar();f.setMenuBar(s);m1=new Menu("编辑(E)");m2=new Menu("查看(V)");m3=new Menu("帮助(H)");s.add(m1);s.add(m2);s.add(m3);m1.add(new MenuItem("Open"));m1.add(new MenuItem("Copy"));m1.add(new MenuItem("pastye"));m1.add(new MenuItem("Save",new MenuShortcut(KeyEvent.VK_S)));m1.add(new MenuItem("Exit"));m2.add(new MenuItem("Standard"));m2.add(new MenuItem("Science"));m1.addActionListener(this);m2.addActionListener(this);m3.add(new MenuItem("About"));m3.add(new MenuItem("Instructions"));m3.addActionListener(this);}public void windowClosing(WindowEvent e){if(e.getSource()==d)d.setV isible(false);else if(e.getSource()==d1)d1.setV isible(false);elseSystem.exit(0);}public void Da(Frame f){d=new Dialog(f,"Dialog",true);d.setSize(36,120);d.setLocation(200,200);d1=new Dialog(f,"使用说明",true);d1.setSize(200,202);d1.setLocation(200,200);l=new TextArea("",4,15,TextArea.SCROLLBARS_VERTICAL_ONLY);l1=new TextArea("",4,15,TextArea.SCROLLBARS_NONE);d.add(l);d1.add(l1);d.addWindowListener(this);d1.addWindowListener(this);}public void actionPerformed(ActionEvent e){float x;String q=e.getActionCommand();if(q=="Exit")System.exit(0);if(q=="About"){l.setText(" 该计算器实现加减乘除开方等基本运算,而且能够计算三角函数以及反三角函数的值,能够进行对数、乘方运算。
Java源代码package com.example.jisuanqi; import java.util.Date;import android.app.Activity;import android.os.Bundle;import android.view.View;importandroid.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText;public class MainActivity extends Activity {private Button one;private Button two;private Button four; private Button five; private Button six; private Button seven; private Button eight; private Button nine; private Button zero; private Button dot; private Button add; private Button sub; private Button mult; private Button division; private Button amount; private Button clear;private Button sqrt;private Button pow;private EditText led;String num1 = "";String num2 = "";double num3 = 0;String rezult = "";String sign = null;int mark = 0;boolean flag = true;boolean dotmark = true;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState) ;setContentView(yout.activity_m ain);zero = (Button) findViewById(R.id.zero);one = (Button) findViewById(R.id.one);two = (Button) findViewById(R.id.two);three = (Button) findViewById(R.id.three);four = (Button) findViewById(R.id.four);five = (Button) findViewById(R.id.five);six = (Button) findViewById(R.id.six);seven = (Button) findViewById(R.id.seven);eight = (Button) findViewById(R.id.eight);nine = (Button) findViewById(R.id.nine);dot = (Button) findViewById(R.id.dot);add = (Button)findViewById(R.id.add);sub = (Button) findViewById(R.id.sub);mult = (Button) findViewById(R.id.mult);division = (Button) findViewById(R.id.division);clear = (Button) findViewById(R.id.clear);amount = (Button) findViewById(R.id.amount);time = (Button) findViewById(R.id.time);pow = (Button) findViewById(R.id.pow);sqrt = (Button) findViewById(R.id.sqrt);led = (EditText) findViewById(R.id.led);zero.setOnClickListener(new OnClickListener() {public void onClick(View v) {if (mark == 0) {num1 = num1 + "0";led.setText(num1);} else if (mark == 1) {num2 = num2 + "0";led.setText(num1 + sign + num2);} else {num1 = String.valueOf(num3);num2 = num2 + "0";led.setText(num1 + sign + num2);}}});one.setOnClickListener(new OnClickListener() {public void onClick(View v) {if (mark == 0) {num1 = num1 + "1";led.setText(num1);} else if (mark == 1) {num2 = num2 + "1";led.setText(num1 + sign + num2);} else {num1 = String.valueOf(num3);num2 = num2 + "1";led.setText(num1 + sign + num2);}}});two.setOnClickListener(new OnClickListener() {public void onClick(View v) {if (mark == 0) {num1 = num1 + "2";led.setText(num1);} else if (mark == 1) {num2 = num2 + "2";led.setText(num1 + sign + num2);} else {num1 = String.valueOf(num3);num2 = num2 + "2";led.setText(num1 + sign + num2);}}});three.setOnClickListener(new OnClickListener() {public void onClick(View v) {if (mark == 0) {num1 = num1 + "3";led.setText(num1);} else if (mark == 1) {num2 = num2 + "3";led.setText(num1 + sign + num2);} else {num1 = String.valueOf(num3);num2 = num2 + "3";led.setText(num1 + sign + num2);}}});four.setOnClickListener(new OnClickListener() {public void onClick(View v) {if (mark == 0) {num1 = num1 + "4";led.setText(num1);} else if (mark == 1) {num2 = num2 + "4";led.setText(num1 + sign +num2);} else {num1 = String.valueOf(num3);num2 = num2 + "4";led.setText(num1 + sign + num2);}}});five.setOnClickListener(new OnClickListener() {public void onClick(View v) {if (mark == 0) {num1 = num1 + "5";led.setText(num1);} else if (mark == 1) {num2 = num2 + "5";led.setText(num1 + sign + num2);} else {num1 = String.valueOf(num3);num2 = num2 + "5";led.setText(num1 + sign + num2);}}});six.setOnClickListener(newOnClickListener() {public void onClick(View v) {if (mark == 0) {num1 = num1 + "6";led.setText(num1);} else if (mark == 1) {num2 = num2 + "6";led.setText(num1 + sign + num2);} else {num1 = String.valueOf(num3);num2 = num2 + "6";led.setText(num1 + sign + num2);}}});seven.setOnClickListener(new OnClickListener() {public void onClick(View v) {if (mark == 0) {num1 = num1 + "7";led.setText(num1);} else if (mark == 1) {num2 = num2 + "7";led.setText(num1 + sign + num2);} else {num1 =String.valueOf(num3);num2 = num2 + "7";led.setText(num1 + sign + num2);}}});eight.setOnClickListener(new OnClickListener() {public void onClick(View v) {if (mark == 0) {num1 = num1 + "8";led.setText(num1);} else if (mark == 1) {num2 = num2 + "8";led.setText(num1 + sign + num2);} else {num1 = String.valueOf(num3);num2 = num2 + "8";led.setText(num1 + sign + num2);}}});nine.setOnClickListener(new OnClickListener() {public void onClick(View v) {if (mark == 0) {num1 = num1 + "9";led.setText(num1);} else if (mark == 1) {num2 = num2 + "9";led.setText(num1 + sign + num2);} else {num1 = String.valueOf(num3);num2 = num2 + "9";led.setText(num1 + sign + num2);}}});add.setOnClickListener(new OnClickListener() {public void onClick(View v) {if (flag) {sign = "+";mark++;flag = false;dotmark = true;}}});sub.setOnClickListener(new OnClickListener() {public void onClick(View v) {if (flag) {sign = "-";mark++;flag = false;dotmark = true;}}});mult.setOnClickListener(new OnClickListener() {public void onClick(View v) {if (flag) {sign = "*";mark++;flag = false;dotmark = true;}}});division.setOnClickListener(new OnClickListener() {public void onClick(View v) {if (flag) {sign = "÷";mark++;flag = false;dotmark = true;}}});pow.setOnClickListener(newOnClickListener() {public void onClick(View v) {if (flag) {sign = "^";mark++;flag = false;dotmark = true;}}});dot.setOnClickListener(new OnClickListener() {public void onClick(View v) {if (dotmark) {if (mark == 0) {num1 = num1 + ".";led.setText(num1);} else if (mark == 1) {num2 = num2 + ".";led.setText(num1 + sign + num2);} else {num1 = String.valueOf(num3);num2 = num2 + ".";led.setText(num1 + sign + num2);}dotmark = false;}}});amount.setOnClickListener(new OnClickListener() { // 等于时发生的运算public void onClick(View v) {flag = true;dotmark = true;if (sign.equals("+")) {double x = Double.parseDouble(num1);double y = Double.parseDouble(num2);num3 = x + y;rezult =String.valueOf(num3);led.setText(num1 + sign + num2 + "=" + rezult);num2 = "";} else if (sign.equals("-")) {double x = Double.parseDouble(num1);double y = Double.parseDouble(num2);num3 = x - y;rezult = String.valueOf(num3);led.setText(num1 + sign + num2 + "=" + rezult);num2 = "";} else if (sign.equals("*")) {double x = Double.parseDouble(num1);double y = Double.parseDouble(num2);num3 = x * y;rezult = String.valueOf(num3);led.setText(num1 + sign + num2 + "=" + rezult);num2 = "";} else if (sign.equals("÷")) {double x = Double.parseDouble(num1);double y =Double.parseDouble(num2);num3 = x / y;rezult = String.valueOf(num3);led.setText(num1 + sign + num2 + "=" + rezult);num2 = "";} else if (sign.equals("^")) {double x = Double.parseDouble(num1);double y = Double.parseDouble(num2);num3 = Math.pow(x, y);rezult = String.valueOf(num3);led.setText(num1 + sign + num2 + "=" + rezult);num2 = "";}}});clear.setOnClickListener(new OnClickListener() {public void onClick(View v) {num1 = "";num2 = "";num3 = 0;mark = 0;sign = "";led.setText("0");flag = true;dotmark = true;}});sqrt.setOnClickListener(new OnClickListener() {public void onClick(View v) {if (mark == 0 && !num1.equals("") && num2.equals("")) {double parent = Double.parseDouble(num1);double root = Math.sqrt(parent);rezult = String.valueOf(root);led.setText(rezult);num1 = "";}}});time.setOnClickListener(new OnClickListener() {public void onClick(View v) {Date date = new Date();led.setText(date.toLocaleString());}});}}Layout(布局)<LinearLayoutxmlns:android="http://schemas /apk/res/android"xmlns:tools="http://schemas.a /tools"android:layout_width="fill_pa rent"android:layout_height="fill_p arent"android:orientation="vertical "tools:context=".MainActivity" ><LinearLayoutandroid:layout_width="fill_pa rent"android:layout_height="wrap_c ontent"android:layout_weight="2" android:orientation="horizont al"><EditTextandroid:id="@+id/led" android:layout_width="fill_pa rent"android:layout_height="fill_p arent"android:layout_margin="3dip" android:background="#ccc" android:gravity="top|right"android:text="" android:textColor="#000" android:textSize="12pt"/> </LinearLayout><LinearLayoutandroid:layout_width="fill_pa rent"android:layout_height="wrap_c ontent"android:layout_weight="1"android:orientation="horizont al"><Buttonandroid:id="@+id/time" android:layout_width="fill_pa rent"android:layout_height="fill_p arent"android:layout_weight="1" android:text="time"android:textSize="10pt"/><Buttonandroid:id="@+id/pow"android:layout_width="fill_pa rent"android:layout_height="fill_p arent"android:layout_weight="1"android:text="pow" android:textSize="10pt"/><Buttonandroid:id="@+id/sqrt" android:layout_width="fill_pa rent"android:layout_height="fill_p arent"android:layout_weight="1" android:text="sqrt"android:textSize="10pt"/><Buttonandroid:id="@+id/clear" android:layout_width="fill_pa rent"android:layout_height="fill_p arent"android:layout_weight="1" android:text="clear" android:textSize="10pt"/> </LinearLayout><LinearLayoutandroid:layout_width="fill_pa rent"android:layout_height="wrap_c ontent"android:layout_weight="1" android:orientation="horizont al"><Buttonandroid:id="@+id/seven" android:layout_width="fill_pa rent"android:layout_height="fill_parent"android:layout_weight="1"android:text="7" android:textSize="12pt"/><Buttonandroid:id="@+id/eight" android:layout_width="fill_pa rent"android:layout_height="fill_p arent"android:layout_weight="1"android:text="8" android:textSize="12pt"/><Buttonandroid:id="@+id/nine" android:layout_width="fill_pa rent"android:layout_height="fill_p arent"android:layout_weight="1"android:text="9" android:textSize="12pt"/><Buttonandroid:id="@+id/division" android:layout_width="fill_pa rent"android:layout_height="fill_p arent"android:layout_weight="1"android:text="÷" android:textSize="12pt"/> </LinearLayout><LinearLayoutandroid:layout_width="fill_pa rent"android:layout_height="wrap_c ontent"android:layout_weight="1" android:orientation="horizont al"><Buttonandroid:id="@+id/four" android:layout_width="fill_pa rent"android:layout_height="fill_p arent"android:layout_weight="1"android:text="4" android:textSize="12pt"/><Buttonandroid:id="@+id/five" android:layout_width="fill_pa rent"android:layout_height="fill_p arent"android:layout_weight="1"android:text="5" android:textSize="12pt"/><Buttonandroid:id="@+id/six" android:layout_width="fill_pa rent"android:layout_height="fill_p arent"android:layout_weight="1"android:text="6" android:textSize="12pt"/><Buttonandroid:id="@+id/mult" android:layout_width="fill_pa rent"android:layout_height="fill_p arent"android:layout_weight="1"android:text="*" android:textSize="12pt"/> </LinearLayout><LinearLayoutandroid:layout_width="fill_pa rent"android:layout_height="wrap_c ontent"android:layout_weight="1" android:orientation="horizont al"><Buttonandroid:id="@+id/one" android:layout_width="fill_pa rent"android:layout_height="fill_p arent"android:layout_weight="1"android:text="1" android:textSize="12pt"/><Buttonandroid:id="@+id/two" android:layout_width="fill_pa rent"android:layout_height="fill_p arent"android:layout_weight="1"android:text="2" android:textSize="12pt"/><Buttonandroid:id="@+id/three" android:layout_width="fill_pa rent"android:layout_height="fill_p arent"android:layout_weight="1"android:text="3" android:textSize="12pt"/><Buttonandroid:id="@+id/sub" android:layout_width="fill_pa rent"android:layout_height="fill_p arent"android:layout_weight="1"android:text="-"android:textSize="12pt"/> </LinearLayout><LinearLayoutandroid:layout_width="fill_pa rent"android:layout_height="wrap_c ontent"android:layout_weight="1" android:orientation="horizont al"><Buttonandroid:id="@+id/dot" android:layout_width="fill_pa rent"android:layout_height="fill_p arent"android:layout_weight="1"android:text="." android:textSize="12pt"/><Buttonandroid:id="@+id/zero" android:layout_width="fill_pa rent"android:layout_height="fill_p arent"android:layout_weight="1"android:text="0" android:textSize="12pt"/><Buttonandroid:id="@+id/amount" android:layout_width="fill_pa rent"android:layout_height="fill_p arent"android:layout_weight="1"android:text="=" android:textSize="12pt"/><Buttonandroid:id="@+id/add" android:layout_width="fill_pa rent"。