千家信息网

Android studio怎么制作简易计算器功能

发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,这篇文章主要介绍"Android studio怎么制作简易计算器功能",在日常操作中,相信很多人在Android studio怎么制作简易计算器功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的
千家信息网最后更新 2025年01月16日Android studio怎么制作简易计算器功能

这篇文章主要介绍"Android studio怎么制作简易计算器功能",在日常操作中,相信很多人在Android studio怎么制作简易计算器功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Android studio怎么制作简易计算器功能"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

布局如下:

布局文件代码:

                

JAVA代码:

package com.example.a01_helloworld;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.os.Debug;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.EditText;import com.google.android.material.badge.BadgeUtils;public class homework_3 extends AppCompatActivity implements View.OnClickListener{    //创建button对象    Button button_mc; //mc    Button button_mjia; //m+    Button button_mjian; //m-    Button button_mr; //mr    Button button_c; //c    Button button_xing; //*    Button button_chu; // /    Button button_xiaoyu; // <    Button button_7; // 7    Button button_8; //8    Button button_9; //9    Button button_jian; // -    Button button_4; // 4    Button button_5; // 5    Button button_6; // 6    Button button_jia; // +    Button button_1; // 1    Button button_2; // 2    Button button_3; // 3    Button button_0; // 0    Button button_dian; // .    Button button_dengyu; // =    EditText result;    // 判断文本编辑框中是否清空    boolean is_clear;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_homework_3);        // 实例化对象        button_mc = (Button)findViewById(R.id.button_mc);        button_mjia = (Button)findViewById(R.id.button_mjia);        button_mjian = (Button)findViewById(R.id.button_mjian);        button_mr = (Button)findViewById(R.id.button_mr);        button_c = (Button)findViewById(R.id.button_c);        button_xing = (Button)findViewById(R.id.button_xing);        button_chu = (Button)findViewById(R.id.button_chu);        button_xiaoyu = (Button)findViewById(R.id.button_xiaoyu);        button_7 = (Button)findViewById(R.id.button_7);        button_8 = (Button)findViewById(R.id.button_8);        button_9 = (Button)findViewById(R.id.button_9);        button_jian = (Button)findViewById(R.id.button_jian);        button_4 = (Button)findViewById(R.id.button_4);        button_5 = (Button)findViewById(R.id.button_5);        button_6 = (Button)findViewById(R.id.button_6);        button_jia = (Button)findViewById(R.id.button_jia);        button_1 = (Button)findViewById(R.id.button_1);        button_2 = (Button)findViewById(R.id.button_2);        button_3 = (Button)findViewById(R.id.button_3);        button_0 = (Button)findViewById(R.id.button_0);        button_dian = (Button)findViewById(R.id.button_dian);        button_dengyu = (Button)findViewById(R.id.button_dengyu);        result = (EditText)findViewById(R.id.editText);        // 给按钮设置点击对象        button_mc.setOnClickListener(this);        button_mjia.setOnClickListener(this);        button_mjian.setOnClickListener(this);        button_mr.setOnClickListener(this);        button_c.setOnClickListener(this);        button_xing.setOnClickListener(this);        button_chu.setOnClickListener(this);        button_xiaoyu.setOnClickListener(this);        button_7.setOnClickListener(this);        button_8.setOnClickListener(this);        button_9.setOnClickListener(this);        button_jian.setOnClickListener(this);        button_4.setOnClickListener(this);        button_5.setOnClickListener(this);        button_6.setOnClickListener(this);        button_jia.setOnClickListener(this);        button_1.setOnClickListener(this);        button_2.setOnClickListener(this);        button_3.setOnClickListener(this);        button_0.setOnClickListener(this);        button_dian.setOnClickListener(this);        button_dengyu.setOnClickListener(this);    }    @Override    public void onClick(View v) {        String str = result.getText().toString();        switch (v.getId()){            case R.id.button_0:            case R.id.button_1:            case R.id.button_2:            case R.id.button_3:            case R.id.button_4:            case R.id.button_5:            case R.id.button_6:            case R.id.button_7:            case R.id.button_8:            case R.id.button_9:                if(result.length()==0){                    str = "";                    result.setText("");                }                result.setText(str+((Button)v).getText());                break;            case R.id.button_dian:                if(result.length()==0){                    return;                }                else {                    Log.d("homework_3","aaa");                    result.setText(str+((Button)v).getText());                    break;                }            case R.id.button_xiaoyu:                if (is_clear) {                    is_clear =false ;                    str ="" ;                    result.setText("");                }else if (str!=null&&!str.equals("")){                    result.setText(str.substring(0,str.length()-1));                }                break;            case R.id.button_jia:            case R.id.button_jian:            case R.id.button_xing:            case R.id.button_chu:                if (result.length()==0)                {                    str = "";                    result.setText("");                }                result.setText(str+" "+((Button)v).getText()+" ");                break;            case R.id.button_c:                is_clear = false;                result.setText("");            case R.id.button_dengyu:                Log.d("homework_3","=");                getResult();                break;        }    }    private void getResult(){        String exp = result.getText().toString();        if (exp==null||exp.equals(""))        {            return;        }        if(!exp.contains(" "))        {            return;        }        if (is_clear)        {            is_clear = false;            return;        }        is_clear = true;        double Result = 0;        // public int indexOf(int ch): 返回指定字符在字符串中第一次出现处的索引        String s1 = exp.substring(0,exp.indexOf(" "));//找到第一个数字        Log.d("homework_3",s1);        String op = exp.substring(exp.indexOf(" ")+1,exp.indexOf(" ")+2);//找到运算符        Log.d("homework_3",op);        String s2 = exp.substring(exp.indexOf(" ")+3);//找到第二个数字        Log.d("homework_3",s2);        if (!s1.equals(" ")&&!s2.equals(" ")){            double d1 = Double.parseDouble(s1);            double d2 = Double.parseDouble(s2);            if(op.equals("+")){                Result = d1+d2;                String o = String.valueOf(Result);                Log.d("homework_3",o);                result.setText(o);                return;            }else if (op.equals("-")){                Result = d1-d2;                String o = String.valueOf(Result);                Log.d("homework_3",o);                result.setText(o);                return;            }else if (op.equals("*")){                Result = d1*d2;                String o = String.valueOf(Result);                Log.d("homework_3",o);                result.setText(o);                return;            }else if (op.equals("/")){                Result = d1/d2;                String o = String.valueOf(Result);                Log.d("homework_3",o);                result.setText(o);                return;            }        }    }}

到此,关于"Android studio怎么制作简易计算器功能"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

0