zoukankan      html  css  js  c++  java
  • android 计算器

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/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">
        <TextView
        android:id="@+id/tvResult"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:height="50dp"
        android:text=""
            android:hint="结果"
        />
        </LinearLayout>
    <LinearLayout android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <Button
        android:id="@+id/btnBackspace"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:width="150dp"
        android:layout_marginLeft="10dp"
        android:text="退格"/>
        <Button
        android:id="@+id/btnCE"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:width="150dp"
        android:text="清除"/>
        </LinearLayout>
    <LinearLayout android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <Button
        android:id="@+id/btn7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:width="75dp"
        android:text="7"/>
        <Button
        android:id="@+id/btn8"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:width="75dp"
        android:text="8"/>
        <Button
        android:id="@+id/btn9"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:width="75dp"
        android:text="9"/>
        <Button
        android:id="@+id/btnDiv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:width="75dp"
        android:text="/"/>
        </LinearLayout>
    <LinearLayout android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <Button
        android:id="@+id/btn4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:width="75dp"
        android:text="4"/>
        <Button
        android:id="@+id/btn5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:width="75dp"
        android:text="5"/>
        <Button
        android:id="@+id/btn6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:width="75dp"
        android:text="6"/>
        <Button
        android:id="@+id/btnMul"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:width="75dp"
        android:text="*"/>
        </LinearLayout>
    <LinearLayout android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <Button
        android:id="@+id/btn1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:width="75dp"
        android:text="1"/>
        <Button
        android:id="@+id/btn2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:width="75dp"
        android:text="2"/>
        <Button
        android:id="@+id/btn3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:width="75dp"
        android:text="3"/>
        <Button
        android:id="@+id/btnAdd"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:width="75dp"
        android:text="+"/>
        </LinearLayout>
    <LinearLayout android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <Button
        android:id="@+id/btn0"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:width="75dp"
        android:text="0"/>
        <Button
        android:id="@+id/btnC"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:width="75dp"
        android:text="C"/>
        <Button
        android:id="@+id/btnEqu"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:width="75dp"
        android:text="="/>
        <Button
        android:id="@+id/btnSub"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:width="75dp"
        android:text="-"/>
        </LinearLayout>
        </LinearLayout>
    package com.example.yanlei.yl2;
    
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.widget.Button;
    import android.widget.TextView;
    import android.widget.Toast;
    import android.view.View.OnClickListener;
    
    public class MainActivity extends AppCompatActivity 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
        public 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(MainActivity.this);
    
            btn0.setOnClickListener(MainActivity.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;
            }
        }
    }
  • 相关阅读:
    Identifier expected after this token
    需要整理的
    Context
    SharedPreferences
    一些常规注意事项
    一个点亮屏幕的service
    BroadcastReceiver中调用Service
    BroadcastReceiver
    Service
    微服务简介
  • 原文地址:https://www.cnblogs.com/gisoracle/p/5011230.html
Copyright © 2011-2022 走看看