android studio实现简单的计算器小功能

Jennifer ·
更新时间:2024-09-20
· 829 次阅读

本文实例为大家分享了android studio实现简单计算器的具体代码,供大家参考,具体内容如下

布局:

<?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("被除数不能为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;                     }             }         }     } }

效果图: 



studio Android

需要 登录 后方可回复, 如果你还没有账号请 注册新账号