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

 更新时间:2022年05月20日 11:57:13   作者:字睿洁  
这篇文章主要为大家详细介绍了android studio实现简单的计算器小功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了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;
                    }
            }
 
        }
    }
}

效果图: 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Android自定义Camera实现拍照功能

    Android自定义Camera实现拍照功能

    这篇文章主要为大家详细介绍了Android自定义Camera实现拍照功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • Android实现断点续传功能

    Android实现断点续传功能

    这篇文章主要为大家详细介绍了Android实现断点续传功能,能在上次的断点处继续上传,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • Flutter实现二维码扫描

    Flutter实现二维码扫描

    这篇文章主要为大家详细介绍了Flutter实现二维码扫描,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04
  • 更新Android Studio 3.0碰到的问题小结

    更新Android Studio 3.0碰到的问题小结

    本文是小编给大家分享的更新Android Studio 3.0碰到的问题小结,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-11-11
  • 安卓(Android)开发之统计App启动时间

    安卓(Android)开发之统计App启动时间

    当大家要改善APP启动速度优化的时候,首先要知道App的启动时间,那么改如何统计时间呢,下面我们一起来看看。
    2016-08-08
  • Android页面之间进行数据回传的方法分析

    Android页面之间进行数据回传的方法分析

    这篇文章主要介绍了Android页面之间进行数据回传的方法,结合实例形式分析了Android页面之间进行数据的传递与处理技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • Android实现静默拍照功能

    Android实现静默拍照功能

    这篇文章主要为大家详细介绍了Android实现静默拍照,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-06-06
  • ionic App 解决android端在真机上tab处于顶部的问题

    ionic App 解决android端在真机上tab处于顶部的问题

    这篇文章主要介绍了ionic App 解决android端在真机上tab处于顶部的问题的相关资料,需要的朋友可以参考下
    2017-06-06
  • Android实现的ListView分组布局改进示例

    Android实现的ListView分组布局改进示例

    这篇文章主要介绍了Android实现的ListView分组布局改进的方法,结合实例形式分析了Android针对ListView的分组布局相关操作技巧,需要的朋友可以参考下
    2016-08-08
  • TextView中URL等指定特殊字符串与点击事件解析

    TextView中URL等指定特殊字符串与点击事件解析

    这篇文章主要为大家详细介绍了TextView中URL等指定特殊字符串与点击事件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11

最新评论