文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Android studio开发怎么实现计算器功能

2023-06-30 15:39

关注

这篇文章主要介绍“Android studio开发怎么实现计算器功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Android studio开发怎么实现计算器功能”文章能帮助大家解决问题。

前言

android 开发小实验
android 移动开发实现 简易计算器功能
小白也能轻松上手,复制粘贴就可使用

使用工具

Android Studio 或者 intellij idea

首先体验一下结果

预览图

Android studio开发怎么实现计算器功能

Android studio开发怎么实现计算器功能

源码

前端页面布局

activity_calculator.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"              xmlns:app="http://schemas.android.com/apk/res-auto"              xmlns:tools="http://schemas.android.com/tools"              android:layout_width="match_parent"              android:layout_height="match_parent"              android:gravity="center"              android:orientation="vertical"              android:background="@drawable/bg2">   <TextView        android:layout_width="410dp"        android:layout_height="60dp"        android:text="计算器"        android:textSize="35dp"        android:gravity="center"        android:background="#A6EFEF"        >    </TextView>    <TextView            android:id="@+id/text_show"            android:layout_width="410dp"            android:layout_height="80dp"            android:background="#EAB9B9"            android:textSize="30dp"    />    <EditText            android:id="@+id/ediText"            android:layout_width="410dp"            android:layout_height="70dp"            android:layout_marginBottom="10dp"            android:background="#EAB9B9"            android:editable="false"            android:gravity="right|center_vertical"            android:paddingRight="20dp"            android:hint="请输入数字"            android:textSize="30sp"    />    <GridLayout            android:layout_width="410dp"            android:layout_height="400dp"            android:columnCount="5"            android:rowCount="6">        <Button                android:id="@+id/button6"                android:layout_width="80dp"                android:layout_height="wrap_content"                android:text="←"                android:background="#87F4F8"                android:layout_margin="2dp"                android:textSize="20dp"        />        <Button                android:id="@+id/button7"                android:layout_width="80dp"                android:layout_height="wrap_content"                android:text="CE"                android:background="#87F4F8"                android:layout_margin="2dp"                android:textSize="20dp"        />        <Button                android:id="@+id/button8"                android:layout_width="80dp"                android:layout_height="wrap_content"                android:text="C"                android:background="#87F4F8"                android:layout_margin="2dp"                android:textSize="20dp"        />        <Button                android:id="@+id/button9"                android:layout_width="80dp"                android:layout_height="wrap_content"                android:text="±"                android:background="#87F4F8"                android:layout_margin="2dp"                android:textSize="20dp"        />        <Button                android:id="@+id/button10"                android:layout_width="80dp"                android:layout_height="wrap_content"                android:text="√"                android:background="#87F4F8"                android:layout_margin="2dp"                android:textSize="20dp"        />        <Button                android:id="@+id/nine"                android:layout_width="80dp"                android:layout_height="wrap_content"                android:text="9"                android:background="#87F4F8"                android:layout_margin="2dp"                android:textSize="20dp"        />        <Button                android:id="@+id/eight"                android:layout_width="80dp"                android:layout_height="wrap_content"                android:text="8"                android:background="#87F4F8"                android:layout_margin="2dp"                android:textSize="20dp"        />        <Button                android:id="@+id/seven"                android:layout_width="80dp"                android:layout_height="wrap_content"                android:text="7"                android:background="#87F4F8"                android:layout_margin="2dp"                android:textSize="20dp"        />        <Button                android:id="@+id/divider"                android:layout_width="80dp"                android:layout_height="wrap_content"                android:text="/"                android:background="#87F4F8"                android:layout_margin="2dp"                android:textSize="20dp"        />        <Button                android:id="@+id/button15"                android:layout_width="80dp"                android:layout_height="wrap_content"                android:text="%"                android:background="#87F4F8"                android:layout_margin="2dp"                android:textSize="20dp"        />        <Button                android:id="@+id/four"                android:layout_width="80dp"                android:layout_height="wrap_content"                android:text="4"                android:background="#87F4F8"                android:layout_margin="2dp"                android:textSize="20dp"        />        <Button                android:id="@+id/five"                android:layout_width="80dp"                android:layout_height="wrap_content"                android:text="5"                android:background="#87F4F8"                android:layout_margin="2dp"                android:textSize="20dp"        />        <Button                android:id="@+id/six"                android:layout_width="80dp"                android:layout_height="wrap_content"                android:text="6"                android:background="#87F4F8"                android:layout_margin="2dp"                android:textSize="20dp"        />        <Button                android:id="@+id/multiply"                android:layout_width="80dp"                android:layout_height="wrap_content"                android:text="*"                android:background="#87F4F8"                android:layout_margin="2dp"                android:textSize="20dp"        />        <Button                android:id="@+id/button20"                android:layout_width="80dp"                android:layout_height="wrap_content"                android:text="1/X"                android:background="#87F4F8"                android:layout_margin="2dp"                android:textSize="20dp"        />        <Button                android:id="@+id/one"                android:layout_width="80dp"                android:layout_height="wrap_content"                android:text="1"                android:background="#87F4F8"                android:layout_margin="2dp"                android:textSize="20dp"        />        <Button                android:id="@+id/two"                android:layout_width="80dp"                android:layout_height="wrap_content"                android:text="2"                android:background="#87F4F8"                android:layout_margin="2dp"                android:textSize="20dp"        />        <Button                android:id="@+id/three"                android:layout_width="80dp"                android:layout_height="wrap_content"                android:text="3"                android:background="#87F4F8"                android:layout_margin="2dp"                android:textSize="20dp"        />        <Button                android:id="@+id/minus"                android:layout_width="80dp"                android:layout_height="wrap_content"                android:text="-"                android:background="#87F4F8"                android:layout_margin="2dp"                android:textSize="20dp"        />        <Button                android:id="@+id/equal"                android:layout_width="80dp"                android:layout_height="100dp"                android:layout_rowSpan="2"                android:text="="                android:background="#87F4F8"                android:layout_margin="2dp"                android:textSize="20dp"        />        <Button                android:id="@+id/zero"                android:layout_width="160dp"                android:layout_height="wrap_content"                android:layout_columnSpan="2"                android:text="0"                android:background="#87F4F8"                android:layout_margin="2dp"                android:textSize="20dp"        />        <Button                android:id="@+id/point"                android:layout_width="80dp"                android:layout_height="wrap_content"                android:text="."                android:background="#87F4F8"                android:layout_margin="2dp"                android:textSize="20dp"        />        <Button                android:id="@+id/add"                android:layout_width="80dp"                android:layout_height="wrap_content"                android:text="+"                android:background="#87F4F8"                android:layout_margin="2dp"                android:textSize="20dp"        />    </GridLayout></LinearLayout>

后端源码

CalculatorActivity.java

package com.example.myappch6;import android.widget.TextView;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.app.Activity;import android.view.View;import android.widget.Button;import android.widget.EditText;public class CalculatorActivity extends Activity implements View.OnClickListener{    //数字0-9    Button number_0;    Button number_1;    Button number_2;    Button number_3;    Button number_4;    Button number_5;    Button number_6;    Button number_7;    Button number_8;    Button number_9;    //运算符    Button add;         //+    Button minus;       //-    Button mul;         //*    Button divide;      //除    Button equal;       //=    Button point;       //小数点    //清除    Button det;    boolean clean;               //清空标识    EditText editText;           //结果显示集    TextView text_show;          //显示计算器文本控件    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_calculator);        //数字0——9实例化        number_0=findViewById(R.id.zero);        number_1=findViewById(R.id.one);        number_2=findViewById(R.id.two);        number_3=findViewById(R.id.three);        number_4=findViewById(R.id.four);        number_5=findViewById(R.id.five);        number_6=findViewById(R.id.six);        number_7=findViewById(R.id.seven);        number_8=findViewById(R.id.eight);        number_9=findViewById(R.id.nine);        //运算符实例化        add=findViewById(R.id.add);        //加        minus=findViewById(R.id.minus);         //减        mul=findViewById(R.id.multiply);        //乘        divide=findViewById(R.id.divider);      //除        equal=findViewById(R.id.equal);         //等        point=findViewById(R.id.point);         //小数点        det=findViewById(R.id.button8);         //清除        //结果显示集        text_show = findViewById(R.id.text_show);        editText=findViewById(R.id.ediText);//添加事件点击事件        // 数字点击事件        number_0.setOnClickListener( this);        number_1.setOnClickListener(this);        number_2.setOnClickListener( this);        number_3.setOnClickListener( this);        number_4.setOnClickListener(this);        number_5.setOnClickListener( this);        number_6.setOnClickListener( this);        number_7.setOnClickListener(this);        number_8.setOnClickListener( this);        number_9.setOnClickListener( this);        // 符号点击事件        add.setOnClickListener( this);        minus.setOnClickListener( this);        mul.setOnClickListener( this);        divide.setOnClickListener( this);        point.setOnClickListener( this);        equal.setOnClickListener( this);        det.setOnClickListener( this);    }    //读取每个按钮内容    public void onClick(View view){        //获取文本内容        String  input=editText.getText().toString();        switch (view.getId()){            case R.id.zero:     // 0            case R.id.one:      // 1            case R.id.two:      // 2            case R.id.three:    // 3            case R.id.four:     // 4            case R.id.five:     // 5            case R.id.six:      // 6            case R.id.seven:    // 7            case R.id.eight:    // 8            case R.id.nine:     // 9            case R.id.point:    //小数点                if(clean){                    clean=false;                    editText.setText("");   //赋值为空                }                editText.setText(input+((Button)view).getText()+"");    //结果集就是本身                break;            case R.id.add:            case R.id.minus:          // 减            case R.id.multiply:       // 乘            case R.id.divider:        // 除                if(clean){                    clean=false;                    input="";                    editText.setText("");                }                editText.setText(input+" "+((Button)view).getText()+" ");                break;            case R.id.button8:      //清除                if(clean){                    clean=false;                    input="";                    editText.setText("");                }else  if(input!=null || !input.equals("")){                    //如果获取内容为空                    editText.setText(input.substring(0,input.length() - 1 ));//结果集为空                    break;                }                break;            case  R.id.equal:   //运算结果=                getResult();    //调用处理结果方法                break;        }    }//运算结果方法    private void getResult(){        String exp=editText.getText().toString();       //获取文本框内容        if(exp==null||exp.equals("")){            return;        }        if(!exp.contains("")){            return;        }        if(clean){            clean=false;            return;        }        clean=true;        double result=0; //进行截取        // 运算符前的数字        String s1=exp.substring(0,exp.indexOf(" "));        //运算符        String op=exp.substring(exp.indexOf(" ")+1,exp.indexOf(" ")+2);        //运算符后的数字        String s2=exp.substring(exp.indexOf(" ")+3);        if(!s1.equals("")&&!s2.equals("")){            //如果包含小数点的运算            double d1=Double.parseDouble(s1);//则数字都是double类型            double d2=Double.parseDouble(s2);            if(op.equals("+")){                // 如果是+                result=d1+d2;                text_show.setText(d1+ "+" +d2+"=");            }else if(op.equals("-")){                //如果是-                result=d1-d2;                text_show.setText(d1+ "-" +d2+"=");            }else if(op.equals("*")){                //如果是*                result=d1*d2;                text_show.setText(d1+ "*" +d2+"=");            }else if(op.equals("/")){                if(d2==0){                    //如果被除数是0                    result=0;//则结果为0                }                else {                    //否则执行正常运算                    result=d1/d2;                    text_show.setText(d1+ "/" +d2+"=");                }            }            if(!s1.contains(".") &&!s2.contains(".")&&!op.equals("/")){                //如果是整数类型                int r=(int)result;//都是整形                editText.setText(r+"");            }else {                editText.setText(result+"");            }        }else  if(!s1.equals("")&& s2.equals("")){            //如果只输入运算符前的数字            editText.setText(exp);//直接返回当前输入内容        }else if (s1.equals("")&& !s2.equals("")){            //如果是只输入运算符后面的数            double d2 =Double.parseDouble(s2);            //运算符当前没有输入数字            if(op.equals("+")){                result= 0 + d2;                text_show.setText(d2+"=");            }else  if(op.equals("-")){                result= 0 - d2;                text_show.setText(d2+"=");            }else if (op.equals("*")){                result= 0;            }else  if(op.equals("/")){                result= 0;            }            if(!s1.contains(".")&&!s2.contains(".")){                int r=(int) result;                editText.setText(r+"");            }else {                editText.setText(result+"");            }        }else {            editText.setText("");        }    }}

关于“Android studio开发怎么实现计算器功能”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网行业资讯频道,小编每天都会为大家更新不同的知识点。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯