千家信息网

Android Studio怎么实现简易计算器设计

发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,今天小编给大家分享一下Android Studio怎么实现简易计算器设计的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有
千家信息网最后更新 2025年02月23日Android Studio怎么实现简易计算器设计

今天小编给大家分享一下Android Studio怎么实现简易计算器设计的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

一、题目

1、如图所示(实际设计,类似此界面样式即可,全屏时,按钮将会纵向拉伸),利用网格布局管理器设计一个居中、满屏计算器,项目名称:clc666b;(666,改成自己的实际编号)

2、加、乘分别用2个单选按钮进行选择;

3、为clc666b编写程序(clc666a不需要编程,只设计界面即可),根据选择的加(乘)单选按钮,实现两个数的加法和乘法的简单计算。

4、为了简化程序设计,上方的数据区也可以设计成3个文本框(如果一个文本框实现功能,则更好),分别用作被(乘)加数、加(乘)数、合(积);

二、分析

1.首要的目标是先做一个窗口,窗口设计需要滿屏平分,所以要修改每一个部件的权重。

2.java程序设计,要监听不同种类的按键,网上基本上都是普通按键的程序,没有radiobutton的,这个题目对于我这种新手来说有点不太友好,不能直接抄网上的,还要根据老师上课讲的改一改。

(1)当按下数字按键时,把按键所对应的数字存到一个字符串中,然后更新text。

(2)如果按下删除的时候把字符串最后一个字符删去即可,然后更新text.。

(3)当按下运算符号键时,把前面的字符存在一个字符串a中,并保存运算符号键的id地址。

(4)继续进行前两步的操作,直到按下等于号键运行(5)。

(5)把运算符号后的给字符串b,根据id来对a和b进行运算,更新text。

三、代码

1.更新后的xml代码

          

2.更新后的java代码

package com.example.lenovo.clc231b; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle;import android.view.View;import android.widget.Button;import android.view.View.OnClickListener;import android.widget.TextView; public class MainActivity extends AppCompatActivity {     private String num = "";    private String num_zong = "";    private int fore,back,lenth,id;    TextView textview1;    Button nm1;    Button nm2;    Button nm3;    Button del;    Button equ;    Button mul;    Button add;     @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);         textview1=(TextView)findViewById(R.id.textview1);         nm1 = (Button)findViewById(R.id.nm1);        nm2 = (Button)findViewById(R.id.nm2);        nm3 = (Button)findViewById(R.id.nm3);        del = (Button)findViewById(R.id.del);        equ = (Button)findViewById(R.id.equ);        mul = (Button)findViewById(R.id.mul);        add = (Button)findViewById(R.id.add);         nm1.setOnClickListener(listener);        nm2.setOnClickListener(listener);        nm3.setOnClickListener(listener);        del.setOnClickListener(listener);        equ.setOnClickListener(listener);        mul.setOnClickListener(listener);        add.setOnClickListener(listener);     }    //监听按钮    public OnClickListener listener = new OnClickListener() {        @Override        public void onClick(View view) {            switch (view.getId()){                case R.id.nm1:                    number(1);                    break;                case R.id.nm2:                    number(2);                    break;                case R.id.nm3:                    number(3);                    break;                case R.id.del:                    delete();                    break;                case R.id.equ:                    result();                    break;                case R.id.mul:                    Get_mul_add(1);                    break;                case R.id.add:                    Get_mul_add(2);                    break;                default:                    break;            }            textview1.setText(num);        }    };     private void Get_mul_add(int flag){        fore = Integer.valueOf(num);        if(flag == 1) {            id = R.id.mul;            num += "×";        }        else {            id = R.id.add;            num += "+";        }        textview1.setText(num);        lenth = num.length();    }     private void result() {        num_zong = num;        num = num.substring(lenth);        back = Integer.valueOf(num);        if(id == R.id.mul)            num = String.valueOf((fore*back));        else            num = String.valueOf((fore+back));        num = num_zong + "=" + num;    }     private void delete() {        num = num.substring(0,num.length()-1);    }     private void number(int i) {        num += i;    }}

3.原来的代码

          
package com.example.lenovo.clc231b; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle;import android.view.View;import android.widget.Button;import android.view.View.OnClickListener;import android.widget.RadioButton;import android.widget.RadioGroup;import android.widget.TextView; public class MainActivity extends AppCompatActivity {     private String num = "";    private String num_zong = "";    private int fore,back,lenth,id;    TextView textview1;    RadioGroup question2;    Button button1;    Button button2;    Button button3;    Button button4;    Button button5;     @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);         textview1=(TextView)findViewById(R.id.textview1);         button1 = (Button)findViewById(R.id.button1);        button2 = (Button)findViewById(R.id.button2);        button3 = (Button)findViewById(R.id.button3);        button4 = (Button)findViewById(R.id.button4);        button5 = (Button)findViewById(R.id.button5);        question2 = (RadioGroup) findViewById(R.id.radioGroup2);         button1.setOnClickListener(listener);        button2.setOnClickListener(listener);        button3.setOnClickListener(listener);        button4.setOnClickListener(listener);        button5.setOnClickListener(listener);        question2.setOnClickListener(listener);     }     public OnClickListener listener = new OnClickListener() {        @Override        public void onClick(View view) {            switch (view.getId()){                case R.id.button1:                    number(1);                    break;                case R.id.button2:                    number(2);                    break;                case R.id.button3:                    number(3);                    break;                case R.id.button4:                    delete();                    break;                case R.id.button5:                    result();                    break;                default:                    break;            }             question2.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {                @Override                public void onCheckedChanged(RadioGroup group, int checkedId) {                    //获取被选择的单选按钮                    RadioButton r = (RadioButton) findViewById(checkedId);                    //Toast.makeText(MainActivity.this,"你的爱好是:" + r.getText(), Toast.LENGTH_SHORT).show();                    id = r.getId();                    textview1.setText(num + r.getText());                    fore = Integer.valueOf(num);                    num = num+ r.getText();                    lenth = num.length();                }            });            textview1.setText(num);        }    };//乘号id是2131165311  加号id是2131165312    private void result()    {        num_zong = num;        num = num.substring(lenth);        back = Integer.valueOf(num);        if(id == 2131165311)            num = String.valueOf((fore*back));        else            num = String.valueOf((fore+back));        num = num_zong + "=" + num;    }     private void delete(){        num = num.substring(0,num.length()-1);    }     private void number(int i){        num = num + i;    }}

以上就是"Android Studio怎么实现简易计算器设计"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。

0