android?studio實現(xiàn)簡單的計算器小功能
更新時間:2022年05月20日 11:57:13 作者:字睿潔
這篇文章主要為大家詳細介紹了android?studio實現(xiàn)簡單的計算器小功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了android studio實現(xiàn)簡單計算器的具體代碼,供大家參考,具體內(nèi)容如下
布局:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout ? ? 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:orientation="vertical" ? ? android:background="@color/white" ? ? tools:context="com.example.jisuanqi.MainActivity"> ? ? ? ? <TextView ? ? ? ? android:id="@+id/screenshow" ? ? ? ? android:layout_width="match_parent" ? ? ? ? android:layout_height="200dp" ? ? ? ? android:background="@android:color/white" ? ? ? ? android:textColor="@color/black" ? ? ? ? android:textSize="50sp"/> ? ? ? ? //各按鍵 ? ? ? <LinearLayout ? ? ? ? android:layout_width="match_parent" ? ? ? ? android:layout_height="match_parent" ? ? ? ? android:orientation="vertical"> ? ? ? ? <LinearLayout ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? android:layout_height="wrap_content" ? ? ? ? ? ? android:gravity="center"> ? ? ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="160dp" ? ? ? ? ? ? ? ? android:layout_height="80dp" ? ? ? ? ? ? ? ? android:text="÷" ? ? ? ? ? ? ? ? android:textSize="45sp" ? ? ? ? ? ? ? ? android:id="@+id/divide" ? ? ? ? ? ? ? ? /> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="80dp" ? ? ? ? ? ? ? ? android:layout_height="80dp" ? ? ? ? ? ? ? ? android:text="×" ? ? ? ? ? ? ? ? android:textSize="45sp" ? ? ? ? ? ? ? ? android:id="@+id/times" /> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="80dp" ? ? ? ? ? ? ? ? android:layout_height="80dp" ? ? ? ? ? ? ? ? android:text="C" ? ? ? ? ? ? ? ? android:textSize="40sp" ? ? ? ? ? ? ? ? android:id="@+id/button_C" /> ? ? ? ? </LinearLayout> ? ? ? ? ? <LinearLayout ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? android:layout_height="wrap_content" ? ? ? ? ? ? android:gravity="center"> ? ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="80dp" ? ? ? ? ? ? ? ? android:layout_height="80dp" ? ? ? ? ? ? ? ? android:text="7" ? ? ? ? ? ? ? ? android:textSize="40sp" ? ? ? ? ? ? ? ? android:id="@+id/button_7" /> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="80dp" ? ? ? ? ? ? ? ? android:layout_height="80dp" ? ? ? ? ? ? ? ? android:text="8" ? ? ? ? ? ? ? ? android:textSize="40sp" ? ? ? ? ? ? ? ? android:id="@+id/button_8" /> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="80dp" ? ? ? ? ? ? ? ? android:layout_height="80dp" ? ? ? ? ? ? ? ? android:text="9" ? ? ? ? ? ? ? ? android:textSize="40sp" ? ? ? ? ? ? ? ? android:id="@+id/button_9" /> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="80dp" ? ? ? ? ? ? ? ? android:layout_height="80dp" ? ? ? ? ? ? ? ? android:text="+" ? ? ? ? ? ? ? ? android:textSize="40sp" ? ? ? ? ? ? ? ? android:id="@+id/button_add" /> ? ? ? ? ? </LinearLayout> ? ? ? ? ? <LinearLayout ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? android:layout_height="wrap_content" ? ? ? ? ? ? android:gravity="center"> ? ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="80dp" ? ? ? ? ? ? ? ? android:layout_height="80dp" ? ? ? ? ? ? ? ? android:text="4" ? ? ? ? ? ? ? ? android:textSize="40sp" ? ? ? ? ? ? ? ? android:id="@+id/button_4" /> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="80dp" ? ? ? ? ? ? ? ? android:layout_height="80dp" ? ? ? ? ? ? ? ? android:text="5" ? ? ? ? ? ? ? ? android:textSize="40sp" ? ? ? ? ? ? ? ? android:id="@+id/button_5" /> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="80dp" ? ? ? ? ? ? ? ? android:layout_height="80dp" ? ? ? ? ? ? ? ? android:text="6" ? ? ? ? ? ? ? ? android:textSize="40sp" ? ? ? ? ? ? ? ? android:id="@+id/button_6" /> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="80dp" ? ? ? ? ? ? ? ? android:layout_height="80dp" ? ? ? ? ? ? ? ? android:text="-" ? ? ? ? ? ? ? ? android:textSize="50sp" ? ? ? ? ? ? ? ? android:id="@+id/button_minus" /> ? ? ? ? ? </LinearLayout> ? ? ? ? ? <LinearLayout ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? android:layout_height="wrap_content" ? ? ? ? ? ? android:gravity="center"> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="80dp" ? ? ? ? ? ? ? ? android:layout_height="80dp" ? ? ? ? ? ? ? ? android:text="1" ? ? ? ? ? ? ? ? android:textSize="40sp" ? ? ? ? ? ? ? ? android:id="@+id/button_1" /> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="80dp" ? ? ? ? ? ? ? ? android:layout_height="80dp" ? ? ? ? ? ? ? ? android:text="2" ? ? ? ? ? ? ? ? android:textSize="40sp" ? ? ? ? ? ? ? ? android:id="@+id/button_2" /> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="80dp" ? ? ? ? ? ? ? ? android:layout_height="80dp" ? ? ? ? ? ? ? ? android:text="3" ? ? ? ? ? ? ? ? android:textSize="40sp" ? ? ? ? ? ? ? ? android:id="@+id/button_3" /> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="80dp" ? ? ? ? ? ? ? ? android:layout_height="80dp" ? ? ? ? ? ? ? ? android:text="." ? ? ? ? ? ? ? ? android:textSize="45sp" ? ? ? ? ? ? ? ? android:id="@+id/button_dot" /> ? ? ? ? ? </LinearLayout> ? ? ? ? ? <LinearLayout ? ? ? ? ? ? android:layout_width="match_parent" ? ? ? ? ? ? android:layout_height="wrap_content" ? ? ? ? ? ? android:gravity="center"> ? ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="160dp" ? ? ? ? ? ? ? ? android:layout_height="80dp" ? ? ? ? ? ? ? ? android:text="0" ? ? ? ? ? ? ? ? android:textSize="40sp" ? ? ? ? ? ? ? ? android:id="@+id/button_0" /> ? ? ? ? ? ? <Button ? ? ? ? ? ? ? ? android:layout_width="160dp" ? ? ? ? ? ? ? ? android:layout_height="80dp" ? ? ? ? ? ? ? ? android:text="=" ? ? ? ? ? ? ? ? android:textSize="45sp" ? ? ? ? ? ? ? ? android:id="@+id/button_equal" /> ? ? ? ? ? </LinearLayout> ? ? </LinearLayout> </LinearLayout>
java代碼:
package com.example.jisuanqi;
?
import android.support.v4.app.INotificationSideChannel;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.app.Activity;
import android.widget.TextView;
import android.widget.Toast;
?
public class MainActivity extends Activity ?{
? ? private TextView windowshow;
? ? private Button ? but_0,but_1,but_2,but_3,but_4,but_5,but_6,but_7,but_8,but_9,but_C,divide,
? ? ? ? ? ? multiply,but_add,but_minus,but_dot,but_equal;
? ? double first_num=0,second_num=0;
? ? double result=0;
? ? int operation=0;
?
? ? @Override
? ? protected void onCreate(Bundle savedInstanceState) {
? ? ? ? super.onCreate(savedInstanceState);
? ? ? ? setContentView(R.layout.activity_main);
? ? ? ? windowshow=(TextView)findViewById(R.id.screenshow);
? ? ? ? but_0=(Button)findViewById(R.id.button_0);
? ? ? ? but_0.setOnClickListener(new MyOnClickListener());
? ? ? ? but_1=(Button)findViewById(R.id.button_1);
? ? ? ? but_1.setOnClickListener(new MyOnClickListener());
? ? ? ? but_2=(Button)findViewById(R.id.button_2);
? ? ? ? but_2.setOnClickListener(new MyOnClickListener());
? ? ? ? but_3=(Button)findViewById(R.id.button_3);
? ? ? ? but_3.setOnClickListener(new MyOnClickListener());
? ? ? ? but_4=(Button)findViewById(R.id.button_4);
? ? ? ? but_4.setOnClickListener(new MyOnClickListener());
? ? ? ? but_5=(Button)findViewById(R.id.button_5);
? ? ? ? but_5.setOnClickListener(new MyOnClickListener());
? ? ? ? but_6=(Button)findViewById(R.id.button_6);
? ? ? ? but_6.setOnClickListener(new MyOnClickListener());
? ? ? ? but_7=(Button)findViewById(R.id.button_7);
? ? ? ? but_7.setOnClickListener(new MyOnClickListener());
? ? ? ? but_8=(Button)findViewById(R.id.button_8);
? ? ? ? but_8.setOnClickListener(new MyOnClickListener());
? ? ? ? but_9=(Button)findViewById(R.id.button_9);
? ? ? ? but_9.setOnClickListener(new MyOnClickListener());
? ? ? ? but_add=(Button)findViewById(R.id.button_add);
? ? ? ? but_add.setOnClickListener(new MyOnClickListener());
? ? ? ? but_C=(Button)findViewById(R.id.button_C);
? ? ? ? but_C.setOnClickListener(new MyOnClickListener());
? ? ? ? divide=(Button)findViewById(R.id.divide);
? ? ? ? divide.setOnClickListener(new MyOnClickListener());
? ? ? ? but_dot=(Button)findViewById(R.id.button_dot);
? ? ? ? but_dot.setOnClickListener(new MyOnClickListener());
? ? ? ? but_equal=(Button)findViewById(R.id.button_equal);
? ? ? ? but_equal.setOnClickListener(new MyOnClickListener());
? ? ? ? but_minus=(Button)findViewById(R.id.button_minus);
? ? ? ? but_minus.setOnClickListener(new MyOnClickListener());
? ? ? ? multiply=(Button)findViewById(R.id.times);
? ? ? ? multiply.setOnClickListener(new MyOnClickListener());
? ? }
?
? ? class MyOnClickListener implements ?View.OnClickListener{
? ? ? ? public void onClick(View v){
? ? ? ? ? ? switch (v.getId()){
? ? ? ? ? ? ? ? case R.id.button_C:
? ? ? ? ? ? ? ? ? ? windowshow.setText(null);
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case R.id.button_0:
? ? ? ? ? ? ? ? ? ? String str0=windowshow.getText().toString();
? ? ? ? ? ? ? ? ? ? str0+="0";
? ? ? ? ? ? ? ? ? ? windowshow.setText(str0);
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case R.id.button_1:
? ? ? ? ? ? ? ? ? ? String str1=windowshow.getText().toString();
? ? ? ? ? ? ? ? ? ? str1+="1";
? ? ? ? ? ? ? ? ? ? windowshow.setText(str1);
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case R.id.button_2:
? ? ? ? ? ? ? ? ? ? String str2=windowshow.getText().toString();
? ? ? ? ? ? ? ? ? ? str2+="2";
? ? ? ? ? ? ? ? ? ? windowshow.setText(str2);
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case R.id.button_3:
? ? ? ? ? ? ? ? ? ? String str3=windowshow.getText().toString();
? ? ? ? ? ? ? ? ? ? str3+="3";
? ? ? ? ? ? ? ? ? ? windowshow.setText(str3);
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case R.id.button_4:
? ? ? ? ? ? ? ? ? ? String str4=windowshow.getText().toString();
? ? ? ? ? ? ? ? ? ? str4+="4";
? ? ? ? ? ? ? ? ? ? windowshow.setText(str4);
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case R.id.button_5:
? ? ? ? ? ? ? ? ? ? String str5=windowshow.getText().toString();
? ? ? ? ? ? ? ? ? ? str5+="5";
? ? ? ? ? ? ? ? ? ? windowshow.setText(str5);
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case R.id.button_6:
? ? ? ? ? ? ? ? ? ? String str6=windowshow.getText().toString();
? ? ? ? ? ? ? ? ? ? str6+="6";
? ? ? ? ? ? ? ? ? ? windowshow.setText(str6);
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case R.id.button_7:
? ? ? ? ? ? ? ? ? ? String str7=windowshow.getText().toString();
? ? ? ? ? ? ? ? ? ? str7+="7";
? ? ? ? ? ? ? ? ? ? windowshow.setText(str7);
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case R.id.button_8:
? ? ? ? ? ? ? ? ? ? String str8=windowshow.getText().toString();
? ? ? ? ? ? ? ? ? ? str8+="8";
? ? ? ? ? ? ? ? ? ? windowshow.setText(str8);
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case R.id.button_9:
? ? ? ? ? ? ? ? ? ? String str9=windowshow.getText().toString();
? ? ? ? ? ? ? ? ? ? str9+="9";
? ? ? ? ? ? ? ? ? ? windowshow.setText(str9);
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case R.id.button_dot:
? ? ? ? ? ? ? ? ? ? String strdot=windowshow.getText().toString();
? ? ? ? ? ? ? ? ? ? strdot+=".";
? ? ? ? ? ? ? ? ? ? windowshow.setText(strdot);
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case R.id.button_add:
? ? ? ? ? ? ? ? ? ? String stradd=windowshow.getText().toString();
? ? ? ? ? ? ? ? ? ? if(stradd.equals(null)){
? ? ? ? ? ? ? ? ? ? ? ? return;
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? first_num=Double.valueOf(stradd);
? ? ? ? ? ? ? ? ? ? stradd+="+";
? ? ? ? ? ? ? ? ? ? windowshow.setText(null);
? ? ? ? ? ? ? ? ? ? operation=1;
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case R.id.button_minus:
? ? ? ? ? ? ? ? ? ? String strminus=windowshow.getText().toString();
? ? ? ? ? ? ? ? ? ? if(strminus.equals(null)){
? ? ? ? ? ? ? ? ? ? ? ? return;
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? first_num=Double.valueOf(strminus);
? ? ? ? ? ? ? ? ? ? strminus+="-";
? ? ? ? ? ? ? ? ? ? windowshow.setText(null);
? ? ? ? ? ? ? ? ? ? operation=2;
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case R.id.times:
? ? ? ? ? ? ? ? ? ? String strmultiply=windowshow.getText().toString();
? ? ? ? ? ? ? ? ? ? if(strmultiply.equals(null)){
? ? ? ? ? ? ? ? ? ? ? ? return;
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? first_num=Double.valueOf(strmultiply);
? ? ? ? ? ? ? ? ? ? strmultiply+="*";
? ? ? ? ? ? ? ? ? ? windowshow.setText(null);
? ? ? ? ? ? ? ? ? ? operation=3;
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case R.id.divide:
? ? ? ? ? ? ? ? ? ? String strdivide=windowshow.getText().toString();
? ? ? ? ? ? ? ? ? ? if(strdivide.equals(null)){
? ? ? ? ? ? ? ? ? ? ? ? return;
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? first_num=Double.valueOf(strdivide);
? ? ? ? ? ? ? ? ? ? strdivide+="/";
? ? ? ? ? ? ? ? ? ? windowshow.setText(null);
? ? ? ? ? ? ? ? ? ? operation=4;
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case R.id.button_equal:
? ? ? ? ? ? ? ? ? ? String strequ=windowshow.getText().toString();
? ? ? ? ? ? ? ? ? ? second_num=Double.valueOf(strequ);
? ? ? ? ? ? ? ? ? ? // windowshow.setText(null);
? ? ? ? ? ? ? ? ? ? switch (operation){
? ? ? ? ? ? ? ? ? ? ? ? case 1:
? ? ? ? ? ? ? ? ? ? ? ? ? ? result=first_num+second_num;
? ? ? ? ? ? ? ? ? ? ? ? ? ? windowshow.setText(String.valueOf(first_num)+"+"+String.valueOf(second_num)+"="+String.valueOf(result));
? ? ? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? ? ? case 2:
? ? ? ? ? ? ? ? ? ? ? ? ? ? result=first_num-second_num;
? ? ? ? ? ? ? ? ? ? ? ? ? ? windowshow.setText(String.valueOf(first_num)+"-"+String.valueOf(second_num)+"="+String.valueOf(result));
? ? ? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? ? ? case 3:
? ? ? ? ? ? ? ? ? ? ? ? ? ? result=first_num*second_num;
? ? ? ? ? ? ? ? ? ? ? ? ? ? windowshow.setText(String.valueOf(first_num)+"×"+String.valueOf(second_num)+"="+String.valueOf(result));
? ? ? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? ? ? case 4:
? ? ? ? ? ? ? ? ? ? ? ? ? ? if(second_num==0){
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? windowshow.setText("被除數(shù)不能為0!");
? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? ? ? else {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? result = first_num / second_num;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? windowshow.setText(String.valueOf(first_num) + "÷" + String.valueOf(second_num) + "=" + String.valueOf(result));
? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? ? ? case 5:
? ? ? ? ? ? ? ? ? ? ? ? ? ? result=first_num/100;
? ? ? ? ? ? ? ? ? ? ? ? ? ? windowshow.setText(String.valueOf(first_num) + "%" +"="+String.valueOf(result));
? ? ? ? ? ? ? ? ? ? ? ? ? ? break;
?
? ? ? ? ? ? ? ? ? ? ? ? default:
? ? ? ? ? ? ? ? ? ? ? ? ? ? result=0;
? ? ? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
?
? ? ? ? }
? ? }
}效果圖:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- Android?Studio實現(xiàn)帶三角函數(shù)對數(shù)運算功能的高級計算器
- Android Studio實現(xiàn)簡易進制轉(zhuǎn)換計算器
- Android studio實現(xiàn)簡易計算器App功能
- 用Android?studio實現(xiàn)簡易計算器功能
- Android?Studio實現(xiàn)簡易計算器設(shè)計
- android?studio?項目?:UI設(shè)計高精度實現(xiàn)簡單計算器
- Android studio實現(xiàn)簡單的計算器
- Android Studio實現(xiàn)簡單計算器功能
- Android Studio實現(xiàn)簡易計算器(表格布局TableLayout)
- Android?Studio實現(xiàn)簡易計算器App?(Java語言版)
相關(guān)文章
更新Android Studio 3.0碰到的問題小結(jié)
本文是小編給大家分享的更新Android Studio 3.0碰到的問題小結(jié),非常不錯,具有參考借鑒價值,需要的朋友參考下吧2017-11-11
安卓(Android)開發(fā)之統(tǒng)計App啟動時間
當大家要改善APP啟動速度優(yōu)化的時候,首先要知道App的啟動時間,那么改如何統(tǒng)計時間呢,下面我們一起來看看。2016-08-08
Android頁面之間進行數(shù)據(jù)回傳的方法分析
這篇文章主要介紹了Android頁面之間進行數(shù)據(jù)回傳的方法,結(jié)合實例形式分析了Android頁面之間進行數(shù)據(jù)的傳遞與處理技巧,具有一定參考借鑒價值,需要的朋友可以參考下2016-06-06
ionic App 解決android端在真機上tab處于頂部的問題
這篇文章主要介紹了ionic App 解決android端在真機上tab處于頂部的問題的相關(guān)資料,需要的朋友可以參考下2017-06-06
Android實現(xiàn)的ListView分組布局改進示例
這篇文章主要介紹了Android實現(xiàn)的ListView分組布局改進的方法,結(jié)合實例形式分析了Android針對ListView的分組布局相關(guān)操作技巧,需要的朋友可以參考下2016-08-08

