這是JAVA package com.example.compare; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends Activity { private int option = 0;//運算符狀態 private boolean newdigital=true;//標記是不是新輸入的數字 private double a=0,b=0;//兩個相加的數 private double c;//表示取正負 private Button button0; private Button button1; private Button button2; private Button button3; private Button button4; private Button button5; private Button button6; private Button button7; private Button button8; private Button button9; private Button add; private Button cut; private Button mult; private Button division; private Button positive; private Button clear; private Button dot; private Button sum; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button0=(Button) findViewById(R.id.btn0); button1=(Button) findViewById(R.id.btn1); button2=(Button) findViewById(R.id.btn2); button3=(Button) findViewById(R.id.btn3); button4=(Button) findViewById(R.id.btn4); button5=(Button) findViewById(R.id.btn5); button6=(Button) findViewById(R.id.btn6); button7=(Button) findViewById(R.id.btn7); button8=(Button) findViewById(R.id.btn8); button9=(Button) findViewById(R.id.btn9); add=(Button) findViewById(R.id.add); cut=(Button) findViewById(R.id.cut); mult=(Button) findViewById(R.id.mult); division=(Button) findViewById(R.id.division); positive=(Button) findViewById(R.id.positive); clear=(Button) findViewById(R.id.clear); dot=(Button) findViewById(R.id.dot); sum=(Button) findViewById(R.id.sum); button0.setOnClickListener(listener); button1.setOnClickListener(listener); button2.setOnClickListener(listener); button3.setOnClickListener(listener); button4.setOnClickListener(listener); button5.setOnClickListener(listener); button6.setOnClickListener(listener); button7.setOnClickListener(listener); button8.setOnClickListener(listener); button9.setOnClickListener(listener); add.setOnClickListener(listener); cut.setOnClickListener(listener); mult.setOnClickListener(listener); division.setOnClickListener(listener); positive.setOnClickListener(listener); clear.setOnClickListener(listener); dot.setOnClickListener(listener); sum.setOnClickListener(listener); } @Override public boolean onCreateOptionsMenu(Menu menu) { menu.add(0, 1, 1, "退出"); menu.add(0, 2, 2, "關於"); menu.add(0, 3, 3, "幫助"); return super.onCreateOptionsMenu(menu); } private OnClickListener listener=new OnClickListener() { @Override public void onClick(View v) { TextView text=(TextView) findViewById(R.id.text); String str=text.getText().toString(); Button but=(Button) v; String msg=but.getText().toString(); try { Integer.parseInt(msg); if (newdigital) { text.setText(str+msg); } else { text.setText(str); newdigital = false; } } catch (Exception e) { System.out.println(but.getId()); switch (but.getId()) { case R.id.add: a=Double.parseDouble(str); option=1; text.setText(""); break; case R.id.cut: a=Double.parseDouble(str); option=2; text.setText(""); break; case R.id.mult: a=Double.parseDouble(str); option=3; text.setText(""); break; case R.id.division: a=Double.parseDouble(str); option=4; text.setText(""); break; case R.id.clear: text.setText(""); break; case R.id.dot: if(str.indexOf(".")==-1) if(str.trim().startsWith("0")){ text.setText("0."); }else{ text.setText(str+"."); } break; case R.id.positive: if(str.length()==0 || "".equals(str)){ a=0; b=0; option=0; newdigital=true; text.setText(""); return; }else { c=Double.parseDouble(str); text.setText(String.valueOf(-c)); newdigital=true; } break; default: b=Double.parseDouble(str); switch(option){ case 1: text.setText(String.valueOf(a+b));break; case 2: text.setText(String.valueOf(a-b));break; case 3: text.setText(String.valueOf(a*b));break; case 4: { if(b!=0) {text.setText(String.valueOf(a/b));} else { Toast.makeText(MainActivity.this, "除數不能爲0!", Toast.LENGTH_SHORT).show(); text.setText(""); a=0; b=0; option=0; newdigital=true; return; } break; } case 5: text.setText(String.valueOf(Math.pow(a, b)));break; } break; } } } }; public boolean onOptionsItemSelected(MenuItem item) { if(item.getItemId()==1){finish();} if(item.getItemId()==2){Toast.makeText(MainActivity.this, "做者:呂檀溪 聯繫:lvtanxi@163.com", Toast.LENGTH_LONG).show();} if(item.getItemId()==3){Toast.makeText(MainActivity.this, "仍是去百度吧!!", Toast.LENGTH_LONG).show();} return super.onOptionsItemSelected(item); } }
這個是界面佈局java
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <LinearLayout android:layout_height="wrap_content" android:layout_width="fill_parent" android:weightSum="3" > <EditText android:id="@+id/text" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:cursorVisible="false" android:gravity="left" android:scrollHorizontally="true" android:textSize="20sp" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:weightSum="3" > <TableLayout android:id="@+id/tablelayout" android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_margin="4dip" > <LinearLayout android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_weight="1"> <Button android:id="@+id/btn1" android:layout_height="wrap_content" android:layout_width="50dip" android:layout_weight="1" android:textSize="25sp" android:text="1" /> <Button android:id="@+id/btn2" android:layout_height="wrap_content" android:layout_width="50dip" android:layout_weight="1" android:textSize="25sp" android:text="2" /> <Button android:id="@+id/btn3" android:layout_height="wrap_content" android:layout_width="50dip" android:layout_weight="1" android:textSize="25sp" android:text="3" /> </LinearLayout> <LinearLayout android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_weight="1"> <Button android:id="@+id/btn4" android:layout_width="50dip" android:layout_height="wrap_content" android:layout_weight="1" android:text="4" android:textSize="25sp" /> <Button android:id="@+id/btn5" android:layout_height="wrap_content" android:layout_width="50dip" android:layout_weight="1" android:textSize="25sp" android:text="5" /> <Button android:id="@+id/btn6" android:layout_height="wrap_content" android:layout_width="50dip" android:layout_weight="1" android:textSize="25sp" android:text="6" /> </LinearLayout> <LinearLayout android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_weight="1"> <Button android:id="@+id/btn7" android:layout_height="wrap_content" android:layout_width="50dip" android:layout_weight="1" android:textSize="25sp" android:text="7" /> <Button android:id="@+id/btn8" android:layout_height="wrap_content" android:layout_width="50dip" android:layout_weight="1" android:textSize="25sp" android:text="8" /> <Button android:id="@+id/btn9" android:layout_height="wrap_content" android:layout_width="50dip" android:layout_weight="1" android:textSize="25sp" android:text="9" /> </LinearLayout> <LinearLayout android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_weight="1"> <Button android:id="@+id/btn0" android:layout_height="wrap_content" android:layout_width="50dip" android:layout_weight="1" android:textSize="25sp" android:text="0" /> <Button android:id="@+id/add" android:layout_height="wrap_content" android:layout_width="50dip" android:layout_weight="1" android:textSize="25sp" android:textColor="#FF0000" android:text="+" /> <Button android:id="@+id/cut" android:layout_height="wrap_content" android:layout_width="50dip" android:layout_weight="1" android:textSize="25sp" android:textColor="#FF0000" android:text="-" /> </LinearLayout> <LinearLayout android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_weight="1"> <Button android:id="@+id/positive" android:layout_height="wrap_content" android:layout_width="50dip" android:layout_weight="1" android:textSize="25sp" android:text="-/+" /> <Button android:id="@+id/mult" android:layout_height="wrap_content" android:layout_width="50dip" android:layout_weight="1" android:textSize="25sp" android:textColor="#FF0000" android:text="*" /> <Button android:id="@+id/division" android:layout_height="wrap_content" android:layout_width="50dip" android:layout_weight="1" android:textSize="25sp" android:textColor="#FF0000" android:text="/" /> </LinearLayout> <LinearLayout android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_weight="1"> <Button android:id="@+id/clear" android:layout_height="wrap_content" android:layout_width="50dip" android:layout_weight="1" android:textSize="25sp" android:text="C" /> <Button android:id="@+id/dot" android:layout_height="wrap_content" android:layout_width="50dip" android:layout_weight="1" android:textSize="25sp" android:textColor="#FF0000" android:text="." /> <Button android:id="@+id/sum" android:layout_height="wrap_content" android:layout_width="50dip" android:layout_weight="1" android:textSize="25sp" android:textColor="#FF0000" android:text="=" /> </LinearLayout> </TableLayout> </LinearLayout> </RelativeLayout>