《android 计算机》

这是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>