Android studio开发怎么实现计算器功能
发表于:2025-02-22 作者:千家信息网编辑
千家信息网最后更新 2025年02月22日,这篇文章主要介绍"Android studio开发怎么实现计算器功能"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"Android studio开发怎么实现计算
千家信息网最后更新 2025年02月22日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安全错误
数据库的锁怎样保障安全
计算机网络技术第三版答案
互联网科技先森百家号
日本有没有网络安全基本法和
ps4服务器选国服好还是港服好
西湖租房网络安全
腾讯云服务器端口映射
买数据库
网络储备服务器
搭建局域网服务器
南洋股份网络安全业务
系统软件开发应用软件吗
国内网络服务器价格
校园网络安全全报
嵌入式硬件邮件服务器
sas 数据库好用吗
我的世界服务器开车插件
控制系统软件开发服务方案价格
张掖网络安全工程师收入
记账软件开发所涉及的专业
软件开发工资发放数据流程图
我的世界脏小豆骗赞服务器
网络安全教育知识保障网络安全
软件开发工程师多少钱一个
网络安全信息反馈机制
工厂云服务器配置
数据库服务引擎下载地址
网络安全从业者
美萍提示连接数据库
数据库知识体系
数据库创建表有哪几种方式