Android studio开发怎么实现计算器功能
发表于:2025-11-06 作者:千家信息网编辑
千家信息网最后更新 2025年11月06日,这篇文章主要介绍"Android studio开发怎么实现计算器功能"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"Android studio开发怎么实现计算
千家信息网最后更新 2025年11月06日Android studio开发怎么实现计算器功能
这篇文章主要介绍"Android studio开发怎么实现计算器功能"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"Android studio开发怎么实现计算器功能"文章能帮助大家解决问题。
前言
android 开发小实验
android 移动开发实现 简易计算器功能
小白也能轻松上手,复制粘贴就可使用
使用工具
Android Studio 或者 intellij idea
首先体验一下结果
预览图
源码
前端页面布局
activity_calculator.xml
后端源码
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开发怎么实现计算器功能"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
运算
结果
数字
运算符
内容
计算器
开发
功能
事件
小数
小数点
输入
文本
方法
知识
实例
源码
类型
行业
不同
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
建立个人网站服务器
我的世界怎么共享服务器
php函数与数据库
群硕软件开发 待遇
阿里云服务器集群方案
关于软件开发流程正确的是
金融业网络安全风险防范措施
神武彩云追月服务器
华山论剑网络安全大会门票
软件开发好还是网络工程师好
网络安全归哪个部门管
了解网络安全的书籍
服务器占用内存吗
违反国铁集团网络安全红线后果
服务器怎么生成https链接
北京企业软件开发哪家可靠
探析网络安全技术
面试软件开发工程师优缺点
orcle数据库建视图
江苏大容量服务器厂家
现代网络技术与运营管理
数据插入数据库定义序列
网神网络安全审计系统nbm
软件开发都是开发啥
sql2005连接数据库
无线传感器网络技术公司
中间件数据库技术
手机软件开发步骤
如何提高网络安全性和可靠性
csgo如何查服务器