zoukankan      html  css  js  c++  java
  • 安卓简易计算器

    layout:  activity_main.xml

      1 <?xml version="1.0" encoding="utf-8"?>
      2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      3     android:layout_width="match_parent"
      4     android:layout_height="match_parent"
      5     android:orientation="vertical" >
      6 
      7     <LinearLayout android:layout_width="fill_parent"
      8     android:layout_height="wrap_content">
      9  <TextView 
     10      android:id="@+id/tvResult"
     11      android:layout_width="fill_parent"
     12      android:layout_height="wrap_content"
     13      android:height="50dp"
     14      android:text="tvResult"
     15      />
     16 </LinearLayout>
     17 <LinearLayout android:layout_width="fill_parent"
     18     android:layout_height="wrap_content">
     19     <Button
     20         android:id="@+id/btnBackspace"
     21         android:layout_width="wrap_content"
     22         android:layout_height="wrap_content"
     23         android:width="150dp"
     24         android:layout_marginLeft="10dp"
     25              android:text="btnBackspace"/>
     26       <Button
     27         android:id="@+id/btnCE"
     28         android:layout_width="wrap_content"
     29         android:layout_height="wrap_content"
     30          android:width="150dp"
     31              android:text="CE"/>
     32 </LinearLayout>
     33 <LinearLayout android:layout_width="fill_parent"
     34     android:layout_height="wrap_content">
     35       <Button
     36         android:id="@+id/btn7"
     37         android:layout_width="wrap_content"
     38         android:layout_height="wrap_content"
     39         android:layout_marginLeft="10dp"
     40          android:width="75dp"
     41              android:text="7"/>
     42          <Button
     43         android:id="@+id/btn8"
     44         android:layout_width="wrap_content"
     45         android:layout_height="wrap_content"
     46          android:width="75dp"
     47              android:text="8"/>
     48                <Button
     49         android:id="@+id/btn9"
     50         android:layout_width="wrap_content"
     51         android:layout_height="wrap_content"
     52          android:width="75dp"
     53              android:text="9"/>
     54                      <Button
     55         android:id="@+id/btnDiv"
     56         android:layout_width="wrap_content"
     57         android:layout_height="wrap_content"
     58          android:width="75dp"
     59              android:text="/"/>
     60 </LinearLayout>
     61 <LinearLayout android:layout_width="fill_parent"
     62     android:layout_height="wrap_content">
     63       <Button
     64         android:id="@+id/btn4"
     65         android:layout_width="wrap_content"
     66         android:layout_height="wrap_content"
     67         android:layout_marginLeft="10dp"
     68          android:width="75dp"
     69              android:text="4"/>
     70          <Button
     71         android:id="@+id/btn5"
     72         android:layout_width="wrap_content"
     73         android:layout_height="wrap_content"
     74          android:width="75dp"
     75              android:text="5"/>
     76                <Button
     77         android:id="@+id/btn6"
     78         android:layout_width="wrap_content"
     79         android:layout_height="wrap_content"
     80          android:width="75dp"
     81              android:text="6"/>
     82                      <Button
     83         android:id="@+id/btnMul"
     84         android:layout_width="wrap_content"
     85         android:layout_height="wrap_content"
     86          android:width="75dp"
     87              android:text="*"/>
     88 </LinearLayout>
     89 <LinearLayout android:layout_width="fill_parent"
     90     android:layout_height="wrap_content">
     91       <Button
     92         android:id="@+id/btn1"
     93         android:layout_width="wrap_content"
     94         android:layout_height="wrap_content"
     95         android:layout_marginLeft="10dp"
     96          android:width="75dp"
     97              android:text="1"/>
     98          <Button
     99         android:id="@+id/btn2"
    100         android:layout_width="wrap_content"
    101         android:layout_height="wrap_content"
    102          android:width="75dp"
    103              android:text="2"/>
    104                <Button
    105         android:id="@+id/btn3"
    106         android:layout_width="wrap_content"
    107         android:layout_height="wrap_content"
    108          android:width="75dp"
    109              android:text="3"/>
    110                      <Button
    111         android:id="@+id/btnAdd"
    112         android:layout_width="wrap_content"
    113         android:layout_height="wrap_content"
    114          android:width="75dp"
    115              android:text="+"/>
    116 </LinearLayout>
    117 <LinearLayout android:layout_width="fill_parent"
    118     android:layout_height="wrap_content">
    119       <Button
    120         android:id="@+id/btn0"
    121         android:layout_width="wrap_content"
    122         android:layout_height="wrap_content"
    123         android:layout_marginLeft="10dp"
    124          android:width="75dp"
    125              android:text="0"/>
    126          <Button
    127         android:id="@+id/btnC"
    128         android:layout_width="wrap_content"
    129         android:layout_height="wrap_content"
    130          android:width="75dp"
    131              android:text="C"/>
    132                <Button
    133         android:id="@+id/btnEqu"
    134         android:layout_width="wrap_content"
    135         android:layout_height="wrap_content"
    136          android:width="75dp"
    137              android:text="="/>
    138                      <Button
    139         android:id="@+id/btnSub"
    140         android:layout_width="wrap_content"
    141         android:layout_height="wrap_content"
    142          android:width="75dp"
    143              android:text="-"/>
    144 </LinearLayout>
    145 </LinearLayout>

    MainActivity.java

    package com.example.cal;
    
    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 btnC=null;
        Button btnAdd=null;
        Button btnSub=null;
        Button btnMul=null;
        Button btnDiv=null;
        Button btnEqu=null;
        TextView tvResult=null;
        //声明两个参数。接收tvResult前后的值
        double num1=0,num2=0;
        double Result=0;//计算结果
        int op=0;//判断操作数,
        boolean isClickEqu=false;//判断是否按了“=”按钮
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            //从布局文件中获取控件,
            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);
            btnBackspace=(Button)findViewById(R.id.btnBackspace);
            btnCE=(Button)findViewById(R.id.btnCE);
            btnC=(Button)findViewById(R.id.btnC);
            btnEqu=(Button)findViewById(R.id.btnEqu);
            btnAdd=(Button)findViewById(R.id.btnAdd);
            btnSub=(Button)findViewById(R.id.btnSub);
            btnMul=(Button)findViewById(R.id.btnMul);
            btnDiv=(Button)findViewById(R.id.btnDiv);
            tvResult=(TextView)findViewById(R.id.tvResult);
    
            //添加监听
            btnBackspace.setOnClickListener(this);
            btnCE.setOnClickListener(this);
    
            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);
            btnMul.setOnClickListener(this);
            btnDiv.setOnClickListener(this);
            btnEqu.setOnClickListener(this);
        }
        @Override
        public void onClick(View v) {
            switch (v.getId()) {
            //btnBackspace和CE--------------------
            case R.id.btnBackspace:
                String myStr=tvResult.getText().toString();
                try {
                    tvResult.setText(myStr.substring(0, myStr.length()-1));
                } catch (Exception e) {
                    tvResult.setText("");
                }
    
                break;
            case R.id.btnCE:
                tvResult.setText(null);
                break;
    
                //btn0--9---------------------------
            case R.id.btn0:
                if(isClickEqu)
                {
                    tvResult.setText(null);
                    isClickEqu=false;
                }
                String myString=tvResult.getText().toString();
                myString+="0";
                tvResult.setText(myString);
                break;
            case R.id.btn1:
                if(isClickEqu)
                {
                    tvResult.setText(null);
                    isClickEqu=false;
                }
                String myString1=tvResult.getText().toString();
                myString1+="1";
                tvResult.setText(myString1);
                break;
            case R.id.btn2:
                if(isClickEqu)
                {
                    tvResult.setText(null);
                    isClickEqu=false;
                }
                String myString2=tvResult.getText().toString();
                myString2+="2";
                tvResult.setText(myString2);
                break;
            case R.id.btn3:
                if(isClickEqu)
                {
                    tvResult.setText(null);
                    isClickEqu=false;
                }
                String myString3=tvResult.getText().toString();
                myString3+="3";
                tvResult.setText(myString3);
                break;
            case R.id.btn4:
                if(isClickEqu)
                {
                    tvResult.setText(null);
                    isClickEqu=false;
                }
                String myString4=tvResult.getText().toString();
                myString4+="4";
                tvResult.setText(myString4);
                break;
            case R.id.btn5:
                if(isClickEqu)
                {
                    tvResult.setText(null);
                    isClickEqu=false;
                }
                String myString5=tvResult.getText().toString();
                myString5+="5";
                tvResult.setText(myString5);
                break;
            case R.id.btn6:
                if(isClickEqu)
                {
                    tvResult.setText(null);
                    isClickEqu=false;
                }
                String myString6=tvResult.getText().toString();
                myString6+="6";
                tvResult.setText(myString6);
                break;
            case R.id.btn7:
                if(isClickEqu)
                {
                    tvResult.setText(null);
                    isClickEqu=false;
                }
                String myString7=tvResult.getText().toString();
                myString7+="7";
                tvResult.setText(myString7);
                break;
            case R.id.btn8:
                if(isClickEqu)
                {
                    tvResult.setText(null);
                    isClickEqu=false;
                }
                String myString8=tvResult.getText().toString();
                myString8+="8";
                tvResult.setText(myString8);
                break;
            case R.id.btn9:
                if(isClickEqu)
                {
                    tvResult.setText(null);
                    isClickEqu=false;
                }
                String myString9=tvResult.getText().toString();
                myString9+="9";
                tvResult.setText(myString9);
                break;
    
                //btn+-*/=--------------------------------
            case R.id.btnAdd:           
                String myStringAdd=tvResult.getText().toString();
                if(myStringAdd.equals(null))
                {
                    return;
                }
                num1=Double.valueOf(myStringAdd);
                tvResult.setText(null);
                op=1;
                isClickEqu=false;
                break;
    
            case R.id.btnSub:
                String myStringSub=tvResult.getText().toString();
                if(myStringSub.equals(null))
                {
                    return;
                }
                num1=Double.valueOf(myStringSub);
                tvResult.setText(null);
                op=2;
                isClickEqu=false;
                break;
            case R.id.btnMul:
                String myStringMul=tvResult.getText().toString();
                if(myStringMul.equals(null))
                {
                    return;
                }
                num1=Double.valueOf(myStringMul);
                tvResult.setText(null);
                op=3;
                isClickEqu=false;
                break;
            case R.id.btnDiv:
                String myStringDiv=tvResult.getText().toString();
                if(myStringDiv.equals(null))
                {
                    return;
                }
                num1=Double.valueOf(myStringDiv);
                tvResult.setText(null);
                op=4;
                isClickEqu=false;
                break;
            case R.id.btnEqu:
                String myStringEqu=tvResult.getText().toString();
                if(myStringEqu.equals(null))
                {
                    return;
                }
                num2=Double.valueOf(myStringEqu);
                tvResult.setText(null);
                switch (op) {
                case 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;
                }
                tvResult.setText(String.valueOf(Result));
                isClickEqu=true;
                break;
    
            default:
                break;
            }
        }
    }
  • 相关阅读:
    答题卡
    hdu 5451 Best Solver
    L. Poor God Water(ACM-ICPC 2018 焦作赛区网络预赛)
    MicroRNA Ranking(Tehran2016)
    Split The Tree(2018东北四省赛)
    Django项目基础开发流程
    暑假学习进度记录墙
    抖音字体设置
    十大危险cmd指令
    奶牛的聚会
  • 原文地址:https://www.cnblogs.com/elliottc/p/5013303.html
Copyright © 2011-2022 走看看