ex2_calculator

//activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/TV"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:layout_weight="0"
        android:textSize="70dp"/>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="left"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/ButtonC"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="C"/>
        <Button
            android:id="@+id/ButtonCE"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="CE"/>
        <Button
            android:id="@+id/ButtonSQ"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="√"/>
        <Button
            android:id="@+id/ButtonPlus"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="+"/>

    </LinearLayout>
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="left"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/Button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="1"/>
        <Button
            android:id="@+id/Button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="2"/>
        <Button
            android:id="@+id/Button3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="3"/>
        <Button
            android:id="@+id/ButtonMinus"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="-"/>

    </LinearLayout>
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="0"
        android:gravity="left"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/Button4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="4"/>
        <Button
            android:id="@+id/Button5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="5"/>
        <Button
            android:id="@+id/Button6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="6"/>
        <Button
            android:id="@+id/ButtonMUL"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="*"/>

    </LinearLayout>
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="0"
        android:gravity="left"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/Button7"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="7"/>
        <Button
            android:id="@+id/Button8"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="8"/>
        <Button
            android:id="@+id/Button9"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="9"/>
        <Button
            android:id="@+id/ButtonDiv"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="/"/>

    </LinearLayout>
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="0"
        android:gravity="left"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/ButtonPoint"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="."/>
        <Button
            android:id="@+id/Button0"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="0"/>
        <Button
            android:id="@+id/ButtonSig"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="sig"/>
        <Button
            android:id="@+id/ButtonEq"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="="/>

    </LinearLayout>

</LinearLayout>

//MainActivity.java

package com.example.ml.calculator;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import android.widget.TextView;

import java.lang.*;

public class MainActivity extends AppCompatActivity implements View.OnClickListener{
    private TextView tv0;
    private String s;
    private static double num_help;
    private static String sign;

    private void  init(){
        Button button0 = (Button) findViewById(R.id.Button0);
        Button button1 = (Button) findViewById(R.id.Button1);
        Button button2 = (Button) findViewById(R.id.Button2);
        Button button3 = (Button) findViewById(R.id.Button3);
        Button button4 = (Button) findViewById(R.id.Button4);
        Button button5 = (Button) findViewById(R.id.Button5);
        Button button6 = (Button) findViewById(R.id.Button6);
        Button button7 = (Button) findViewById(R.id.Button7);
        Button button8 = (Button) findViewById(R.id.Button8);
        Button button9 = (Button) findViewById(R.id.Button9);
        Button buttonpt = (Button) findViewById(R.id.ButtonPoint);
        Button buttonc = (Button) findViewById(R.id.ButtonC);
        Button buttonce = (Button) findViewById(R.id.ButtonCE);
        Button buttonsq = (Button) findViewById(R.id.ButtonSQ);
        Button buttonsig = (Button) findViewById(R.id.ButtonSig);
        Button buttoneq = (Button) findViewById(R.id.ButtonEq);
        Button buttonp = (Button) findViewById(R.id.ButtonPlus);
        Button buttonminus = (Button) findViewById(R.id.ButtonMinus);
        Button buttondiv = (Button) findViewById(R.id.ButtonDiv);
        Button buttonmul = (Button) findViewById(R.id.ButtonMUL);

        tv0 = (TextView) findViewById(R.id.TV);

        button0.setOnClickListener(this);
        button1.setOnClickListener(this);
        button2.setOnClickListener(this);
        button3.setOnClickListener(this);
        button4.setOnClickListener(this);
        button5.setOnClickListener(this);
        button6.setOnClickListener(this);
        button7.setOnClickListener(this);
        button8.setOnClickListener(this);
        button9.setOnClickListener(this);
        buttonc.setOnClickListener(this);
        buttonce.setOnClickListener(this);
        buttonsq.setOnClickListener(this);
        buttoneq.setOnClickListener(this);
        buttonp.setOnClickListener(this);
        buttonminus.setOnClickListener(this);
        buttondiv.setOnClickListener(this);
        buttonmul.setOnClickListener(this);
        buttonpt.setOnClickListener(this);
        s = "";
        num_help = 0;
        sign = "";
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        init();

    }




    public void onClick(View view) {

        switch(view.getId()){

            case R.id.Button0:
                if(s == ""){
                    s = "0";
                }
                else{
                    s = s + "0";
                }
                tv0.setText(s);

                break;
            case R.id.Button1:
                if(s == ""){
                    s = "1";
                }
                else{
                    s = s + "1";
                }
                tv0.setText(s);

                break;
            case R.id.Button2:
                if(s == ""){
                    s = "2";
                }
                else{
                    s = s + "2";
                }
                tv0.setText(s);
                break;
            case R.id.Button3:
                if(s == ""){
                    s = "3";
                }
                else{
                    s = s + "3";
                }
                tv0.setText(s);
                break;
            case R.id.Button4:
                if(s == ""){
                    s = "4";
                }
                else{
                    s = s + "4";
                }
                tv0.setText(s);
                break;
            case R.id.Button5:
                if(s == ""){
                    s = "5";
                }
                else{
                    s = s + "5";
                }
                tv0.setText(s);
                break;
            case R.id.Button6:
                if(s == ""){
                    s = "6";
                }
                else{
                    s = s + "6";
                }
                tv0.setText(s);
                break;
            case R.id.Button7:
                if(s == ""){
                    s = "7";
                }
                else{
                    s = s + "7";
                }
                tv0.setText(s);
                break;
            case R.id.Button8:
                if(s == ""){
                    s = "8";
                }
                else{
                    s = s + "8";
                }
                tv0.setText(s);
                break;
            case R.id.Button9:
                if(s == ""){
                    s = "9";
                }
                else{
                    s = s + "9";
                }
                tv0.setText(s);
                break;

            case R.id.ButtonC:
                s = "";
                tv0.setText(s);
                break;

            case R.id.ButtonCE:
                s=s.substring(0,s.length()-1);
                tv0.setText(s);
                break;

            case R.id.ButtonPoint:
                s=s+".";
                tv0.setText(s);
                break;
            case R.id.ButtonSQ:
                Double d = Double.parseDouble(s);
                d = Math.sqrt(d);
                String tem = String.valueOf(d);
                tv0.setText(tem);
                break;
            case R.id.ButtonEq:
                Double d2 = Double.parseDouble(s);
                Double result = cal(sign,num_help,d2);
                s = String.valueOf(result);
                tv0.setText(s);
                break;
            case R.id.ButtonPlus:
                Double d1 = Double.parseDouble(s);
                num_help = d1;
                sign = "+";
                s = "";
                tv0.setText(s);
                break;

            case R.id.ButtonMinus:
                d1 = Double.parseDouble(s);
                num_help = d1;
                sign = "-";
                s = "";
                tv0.setText(s);
                break;
            case R.id.ButtonMUL:
                d1 = Double.parseDouble(s);
                num_help = d1;
                sign = "*";
                s = "";
                tv0.setText(s);
                break;
            case R.id.ButtonDiv:
                d1 = Double.parseDouble(s);
                num_help = d1;
                sign = "/";
                s = "";
                tv0.setText(s);
                break;
            case R.id.ButtonSig:

                break;


        }
    }

    public Double cal(String sign,Double d1,Double d2){
        Double result=null;
        if(sign == "+"){
            result = d1+d2;
        }else if(sign == "-"){
            result = d1-d2;
        }else if(sign == "*"){
            result = d1*d2;
        }else if(sign == "/"){
            result = d1/d2;
        }
        return result;
    }


}


猜你喜欢

转载自blog.csdn.net/weixin_40671013/article/details/80946133
ex2