Android studio實(shí)現(xiàn)簡易計(jì)算器App功能
在Android studio實(shí)現(xiàn)簡易計(jì)算器App并實(shí)現(xiàn)加減乘除功能,供大家參考,具體內(nèi)容如下
結(jié)果
activity_main.xml
<?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" ? ? android:paddingBottom="10dp" ? ? android:paddingLeft="10dp" ? ? android:paddingRight="10dp" ? ? android:paddingTop="10dp"> ? ? ? <EditText ? ? ? ? android:id="@+id/et_result" ? ? ? ? android:hint="請(qǐng)輸入數(shù)字" ? ? ? ? android:layout_width="match_parent" ? ? ? ? android:layout_height="100dp" ? ? ? ? android:layout_gravity="left" ? ? ? ? android:gravity="right" ? ? ? ? android:textSize="50sp" /> ? ? ? <GridLayout ? ? ? ? android:layout_width="match_parent" ? ? ? ? android:layout_height="match_parent" ? ? ? ? android:background="@drawable/sz" ? ? ? ? android:layout_gravity="center" ? ? ? ? android:orientation="horizontal" ? ? ? ? android:columnCount="4" ? ? ? ? android:rowCount="5"> ? ? ? ? ? <Button ? ? ? ? ? ? android:id="@+id/btn_clear" ? ? ? ? ? ? android:layout_columnSpan="3" ? ? ? ? ? ? android:layout_gravity="fill_horizontal" ? ? ? ? ? ? android:text="C ? ? ? ? ? ? ? ? ? DEL" ? ? ? ? ? ? android:layout_rowWeight="1" ? ? ? ? ? ? android:textSize="26sp" /> ? ? ? ? <Button ? ? ? ? ? ? android:id="@+id/btn_div" ? ? ? ? ? ? android:text="÷" ? ? ? ? ? ? android:layout_rowWeight="1" ? ? ? ? ? ? android:textSize="26sp" /> ? ? ? ? <Button ? ? ? ? ? ? android:id="@+id/btn_1" ? ? ? ? ? ? android:text="1" ? ? ? ? ? ? android:layout_rowWeight="1" ? ? ? ? ? ? android:textSize="26sp"/> ? ? ? ? <Button ? ? ? ? ? ? android:id="@+id/btn_2" ? ? ? ? ? ? android:text="2" ? ? ? ? ? ? android:layout_rowWeight="1" ? ? ? ? ? ? android:textSize="26sp" /> ? ? ? ? <Button ? ? ? ? ? ? android:id="@+id/btn_3" ? ? ? ? ? ? android:text="3" ? ? ? ? ? ? android:layout_rowWeight="1" ? ? ? ? ? ? android:textSize="26sp" /> ? ? ? ? <Button ? ? ? ? ? ? android:id="@+id/btn_add" ? ? ? ? ? ? android:text="+" ? ? ? ? ? ? android:layout_rowWeight="1" ? ? ? ? ? ? android:textSize="26sp" /> ? ? ? ? <Button ? ? ? ? ? ? android:id="@+id/btn_4" ? ? ? ? ? ? android:text="4" ? ? ? ? ? ? android:layout_rowWeight="1" ? ? ? ? ? ? android:textSize="26sp" /> ? ? ? ? <Button ? ? ? ? ? ? android:id="@+id/btn_5" ? ? ? ? ? ? android:text="5" ? ? ? ? ? ? android:layout_rowWeight="1" ? ? ? ? ? ? android:textSize="26sp" /> ? ? ? ? <Button ? ? ? ? ? ? android:id="@+id/btn_6" ? ? ? ? ? ? android:text="6" ? ? ? ? ? ? android:layout_rowWeight="1" ? ? ? ? ? ? android:textSize="26sp" /> ? ? ? ? <Button ? ? ? ? ? ? android:id="@+id/btn_sub" ? ? ? ? ? ? android:text="-" ? ? ? ? ? ? android:layout_rowWeight="1" ? ? ? ? ? ? android:textSize="26sp" /> ? ? ? ? <Button ? ? ? ? ? ? android:id="@+id/btn_7" ? ? ? ? ? ? android:text="7" ? ? ? ? ? ? android:layout_rowWeight="1" ? ? ? ? ? ? android:textSize="26sp" /> ? ? ? ? <Button ? ? ? ? ? ? android:id="@+id/btn_8" ? ? ? ? ? ? android:text="8" ? ? ? ? ? ? android:layout_rowWeight="1" ? ? ? ? ? ? android:textSize="26sp" /> ? ? ? ? <Button ? ? ? ? ? ? android:id="@+id/btn_9" ? ? ? ? ? ? android:text="9" ? ? ? ? ? ? android:layout_rowWeight="1" ? ? ? ? ? ? android:textSize="26sp" /> ? ? ? ? <Button ? ? ? ? ? ? android:id="@+id/btn_mul" ? ? ? ? ? ? android:text="×" ? ? ? ? ? ? android:layout_rowWeight="1" ? ? ? ? ? ? android:textSize="26sp" /> ? ? ? ? <Button ? ? ? ? ? ? android:id="@+id/btn_0" ? ? ? ? ? ? android:text="0" ? ? ? ? ? ? android:layout_rowWeight="1" ? ? ? ? ? ? android:textSize="26sp" /> ? ? ? ? <Button ? ? ? ? ? ? android:id="@+id/btn_dot" ? ? ? ? ? ? android:text="." ? ? ? ? ? ? android:layout_rowWeight="1" ? ? ? ? ? ? android:textSize="26sp" /> ? ? ? ? <Button ? ? ? ? ? ? android:id="@+id/btn_equ" ? ? ? ? ? ? android:text="=" ? ? ? ? ? ? android:layout_rowWeight="1" ? ? ? ? ? ? android:layout_columnSpan="2" ? ? ? ? ? ? android:layout_gravity="fill_horizontal" ? ? ? ? ? ? android:textSize="26sp" /> ? ? ? </GridLayout> ? </LinearLayout>
MainActivity.java
package com.example.a86189.szcounter; ? import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; ? public class MainActivity extends AppCompatActivity { ? ? ? Button btn1; // 數(shù)字1 ? ? Button btn2; // 數(shù)字2 ? ? Button btn3; // 數(shù)字3 ? ? Button btn4; // 數(shù)字4 ? ? Button btn5; // 數(shù)字5 ? ? Button btn6; // 數(shù)字6 ? ? Button btn7; // 數(shù)字7 ? ? Button btn8; // 數(shù)字8 ? ? Button btn9; // 數(shù)字9 ? ? Button btn0; // 數(shù)字0 ? ? Button add; // +號(hào) ? ? Button sub; // -號(hào) ? ? Button mul; // *號(hào) ? ? Button div; // 除號(hào) ? ? Button dot; // 小數(shù)點(diǎn) ? ? Button equ; // =號(hào) ? ? Button clear; //清除 ? ? EditText result; // 顯示文本 ? ? ? double num1 = 0, num2 = 0; //計(jì)算的數(shù)字 ? ? double Result = 0;//計(jì)算結(jié)果 ? ? int op = 0;//判斷操作符 ? ? String opd = " ";//顯示操作符 ? ? ? @Override ? ? protected void onCreate(Bundle savedInstanceState) { ? ? ? ? super.onCreate(savedInstanceState); ? ? ? ? setContentView(R.layout.activity_main); ? ? ? ? ? // 獲取頁面上的控件 ? ? ? ? btn1 = (Button) findViewById(R.id.btn_1); ? ? ? ? btn2 = (Button)findViewById(R.id.btn_2); ? ? ? ? btn3 = (Button)findViewById(R.id.btn_3); ? ? ? ? btn4 = (Button)findViewById(R.id.btn_4); ? ? ? ? btn5 = (Button)findViewById(R.id.btn_5); ? ? ? ? btn6 = (Button)findViewById(R.id.btn_6); ? ? ? ? btn7 = (Button)findViewById(R.id.btn_7); ? ? ? ? btn8 = (Button)findViewById(R.id.btn_8); ? ? ? ? btn9 = (Button)findViewById(R.id.btn_9); ? ? ? ? btn0 = (Button)findViewById(R.id.btn_0); ? ? ? ? add = ?(Button)findViewById(R.id.btn_add); ? ? ? ? sub = ?(Button)findViewById(R.id.btn_sub); ? ? ? ? mul = ?(Button)findViewById(R.id.btn_mul); ? ? ? ? div = ?(Button)findViewById(R.id.btn_div); ? ? ? ? equ = ?(Button)findViewById(R.id.btn_equ); ? ? ? ? dot = ?(Button)findViewById(R.id.btn_dot); ? ? ? ? clear =(Button) findViewById(R.id.btn_clear); ? ? ? ? result =(EditText) ?findViewById(R.id.et_result); ? ? ? ? ? // 按鈕的單擊事件 ? ? ? ? btn1.setOnClickListener(new Click()); ? ? ? ? btn2.setOnClickListener(new Click()); ? ? ? ? btn3.setOnClickListener(new Click()); ? ? ? ? btn4.setOnClickListener(new Click()); ? ? ? ? btn5.setOnClickListener(new Click()); ? ? ? ? btn6.setOnClickListener(new Click()); ? ? ? ? btn7.setOnClickListener(new Click()); ? ? ? ? btn8.setOnClickListener(new Click()); ? ? ? ? btn9.setOnClickListener(new Click()); ? ? ? ? btn0.setOnClickListener(new Click()); ? ? ? ? add.setOnClickListener(new Click()); ? ? ? ? sub.setOnClickListener(new Click()); ? ? ? ? mul.setOnClickListener(new Click()); ? ? ? ? div.setOnClickListener(new Click()); ? ? ? ? equ.setOnClickListener(new Click()); ? ? ? ? dot.setOnClickListener(new Click()); ? ? ? ? clear.setOnClickListener(new Click()); ? ? ? ? result.setOnClickListener(new Click()); ? ? } ? ? ? // 設(shè)置按鈕點(diǎn)擊后的監(jiān)聽 ? ? class Click implements View.OnClickListener { ? ? ? ? public void onClick(View v) { ? ? ? ? ? ? switch (v.getId()) { ? ? ? ? ? ? ? ?//switch循環(huán)獲取點(diǎn)擊按鈕后的值 ? ? ? ? ? ? ? ? case R.id.btn_0: ? ? ? ? ? ? ? ?//獲取,0-9、小數(shù)點(diǎn),并在編輯框顯示 ? ? ? ? ? ? ? ? ? ? String myString = result.getText().toString(); ? ? ? ? ? ? ? ? ? ? myString += "0"; ? ? ? ? ? ? ? ? ? ? result.setText(myString); ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? case R.id.btn_1: ? ? ? ? ? ? ? ? ? ? String myString1 = result.getText().toString(); ? ? ? ? ? ? ? ? ? ? myString1 += "1"; ? ? ? ? ? ? ? ? ? ? result.setText(myString1); ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? case R.id.btn_2: ? ? ? ? ? ? ? ? ? ? String myString2 = result.getText().toString(); ? ? ? ? ? ? ? ? ? ? myString2 += "2"; ? ? ? ? ? ? ? ? ? ? result.setText(myString2); ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? case R.id.btn_3: ? ? ? ? ? ? ? ? ? ? String myString3 = result.getText().toString(); ? ? ? ? ? ? ? ? ? ? myString3 += "3"; ? ? ? ? ? ? ? ? ? ? result.setText(myString3); ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? case R.id.btn_4: ? ? ? ? ? ? ? ? ? ? String myString4 = result.getText().toString(); ? ? ? ? ? ? ? ? ? ? myString4 += "4"; ? ? ? ? ? ? ? ? ? ? result.setText(myString4); ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? case R.id.btn_5: ? ? ? ? ? ? ? ? ? ? String myString5 = result.getText().toString(); ? ? ? ? ? ? ? ? ? ? myString5 += "5"; ? ? ? ? ? ? ? ? ? ? result.setText(myString5); ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? case R.id.btn_6: ? ? ? ? ? ? ? ? ? ? String myString6 = result.getText().toString(); ? ? ? ? ? ? ? ? ? ? myString6 += "6"; ? ? ? ? ? ? ? ? ? ? result.setText(myString6); ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? case R.id.btn_7: ? ? ? ? ? ? ? ? ? ? String myString7 = result.getText().toString(); ? ? ? ? ? ? ? ? ? ? myString7 += "7"; ? ? ? ? ? ? ? ? ? ? result.setText(myString7); ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? case R.id.btn_8: ? ? ? ? ? ? ? ? ? ? String myString8 = result.getText().toString(); ? ? ? ? ? ? ? ? ? ? myString8 += "8"; ? ? ? ? ? ? ? ? ? ? result.setText(myString8); ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? case R.id.btn_9: ? ? ? ? ? ? ? ? ? ? String myString9 = result.getText().toString(); ? ? ? ? ? ? ? ? ? ? myString9 += "9"; ? ? ? ? ? ? ? ? ? ? result.setText(myString9); ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? case R.id.btn_dot: ? ? ? ? ? ? ? ? ? ? String myStringDot = result.getText().toString(); ? ? ? ? ? ? ? ? ? ? myStringDot += "."; ? ? ? ? ? ? ? ? ? ? result.setText(myStringDot); ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? case R.id.btn_add: ? ? ? ? ? ? //判斷,使用加減乘除的操作符 ? ? ? ? ? ? ? ? ? ? String myStringAdd = result.getText().toString(); ? ? ? ? ? ? ? ? ? ? if (myStringAdd.equals(null)) { ? ? ? ? ? ? ? ? ? ? ? ? return; ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? num1 = Double.valueOf(myStringAdd); ? ? ? ? ? ? ? ? ? ? result.setText(null); ? ? ? ? ? ? ? ? ? ? op = 1; ? ? ? ? ? ? ? ? ? ? opd = "+"; ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? case R.id.btn_sub: ? ? ? ? ? ? ? ? ? ? String myStringSub = result.getText().toString(); ? ? ? ? ? ? ? ? ? ? if (myStringSub.equals(null)) { ? ? ? ? ? ? ? ? ? ? ? ? return; ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? num1 = Double.valueOf(myStringSub); ? ? ? ? ? ? ? ? ? ? result.setText(null); ? ? ? ? ? ? ? ? ? ? op = 2; ? ? ? ? ? ? ? ? ? ? opd = "-"; ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? case R.id.btn_mul: ? ? ? ? ? ? ? ? ? ? String myStringMul = result.getText().toString(); ? ? ? ? ? ? ? ? ? ? if (myStringMul.equals(null)) { ? ? ? ? ? ? ? ? ? ? ? ? return; ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? num1 = Double.valueOf(myStringMul); ? ? ? ? ? ? ? ? ? ? result.setText(null); ? ? ? ? ? ? ? ? ? ? op = 3; ? ? ? ? ? ? ? ? ? ? opd = "×"; ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? case R.id.btn_div: ? ? ? ? ? ? ? ? ? ? String myStringDiv = result.getText().toString(); ? ? ? ? ? ? ? ? ? ? if (myStringDiv.equals(null)) { ? ? ? ? ? ? ? ? ? ? ? ? return; ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? num1 = Double.valueOf(myStringDiv); ? ? ? ? ? ? ? ? ? ? result.setText(null); ? ? ? ? ? ? ? ? ? ? op = 4; ? ? ? ? ? ? ? ? ? ? opd = "÷"; ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? case R.id.btn_clear: ? ? ? ? ? ? ? ? //清除,將編輯框文本顯示為空 ? ? ? ? ? ? ? ? ? ? result.setText(null); ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? case R.id.btn_equ: ? ? ? ? ? ? ? ? ? //計(jì)算,以操作符為判斷,選擇所需的運(yùn)算,并將結(jié)果輸出 ? ? ? ? ? ? ? ? ? ? String myStringEqu = result.getText().toString(); ? ? ? ? ? ? ? ? ? ? if (myStringEqu.equals(null)) { ? ? ? ? ? ? ? ? ? ? ? ? return; ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? num2 = Double.valueOf(myStringEqu); ? ? ? ? ? ? ? ? ? ? result.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: ? ? ? ? ? ? ? ? ? ? ? ? ? ? if (num2 == 0) ? ? ? ? ? ? ? ?//除法中分子與分母之分 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Result = 0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? else ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Result = num1 / num2; ? ? ? ? ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? ? ? ? ? default: ? ? ? ? ? ? ? ? ? ? ? ? ? ? Result = 0; ? ? ? ? ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? result.setText(Double.toString(num1) + opd + Double.toString(num2) + "=" + Double.toString(Result)); ? ?//將結(jié)果完整輸出 ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? default: ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? } ? ? ? ? } ? ? } }
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android?Studio實(shí)現(xiàn)帶三角函數(shù)對(duì)數(shù)運(yùn)算功能的高級(jí)計(jì)算器
- Android Studio實(shí)現(xiàn)簡易進(jìn)制轉(zhuǎn)換計(jì)算器
- android?studio實(shí)現(xiàn)簡單的計(jì)算器小功能
- 用Android?studio實(shí)現(xiàn)簡易計(jì)算器功能
- Android?Studio實(shí)現(xiàn)簡易計(jì)算器設(shè)計(jì)
- android?studio?項(xiàng)目?:UI設(shè)計(jì)高精度實(shí)現(xiàn)簡單計(jì)算器
- Android studio實(shí)現(xiàn)簡單的計(jì)算器
- Android Studio實(shí)現(xiàn)簡單計(jì)算器功能
- Android Studio實(shí)現(xiàn)簡易計(jì)算器(表格布局TableLayout)
- Android?Studio實(shí)現(xiàn)簡易計(jì)算器App?(Java語言版)
相關(guān)文章
Android之利用EventBus發(fā)送消息傳遞示例
本篇文章主要介紹了Android之利用EventBus進(jìn)行消息傳遞示例。EventBus是一款針對(duì)Android優(yōu)化的發(fā)布/訂閱事件總線,非常具有實(shí)用價(jià)值,需要的朋友可以參考下。2017-02-02Android操作SQLite數(shù)據(jù)庫(增、刪、改、查、分頁等)及ListView顯示數(shù)據(jù)的方法詳解
這篇文章主要介紹了Android操作SQLite數(shù)據(jù)庫(增、刪、改、查、分頁等)及ListView顯示數(shù)據(jù)的方法,結(jié)合實(shí)例形式詳細(xì)分析了Android操作SQLite數(shù)據(jù)庫及使用ListView顯示數(shù)據(jù)的相關(guān)技巧,需要的朋友可以參考下2016-02-02Android中通過訪問本地相冊(cè)或者相機(jī)設(shè)置用戶頭像實(shí)例
本篇文章主要介紹了Android中通過訪問本地相冊(cè)或者相機(jī)設(shè)置用戶頭像,具有一定的參考價(jià)值,有興趣的可以了解一下。2017-01-01Android和IOS的瀏覽器中檢測是否安裝某個(gè)客戶端的方法
這篇文章主要介紹了Android和IOS的瀏覽器中檢測是否安裝某個(gè)客戶端的方法,需要的朋友可以參考下2014-06-06Android中Webview打開網(wǎng)頁的同時(shí)發(fā)送HTTP頭信息方法
這篇文章主要介紹了Android中Webview打開網(wǎng)頁的同時(shí)發(fā)送HTTP頭信息方法,本文是講解的是一種通過修改Referer來控制盜鏈的方法,需要的朋友可以參考下2015-01-01解決Android加殼過程中mprotect調(diào)用失敗的原因分析
本文探討的主要內(nèi)容是mprotect調(diào)用失敗的根本原因,以及在加殼實(shí)現(xiàn)中的解決方案,通過本文的闡述,一方面能夠幫助遇到同類問題的小伙伴解決心中的疑惑,另一方面能夠給大家提供可落地的實(shí)現(xiàn)方案,需要的朋友可以參考下2022-01-01