Android studio开发怎么实现计算器功能
发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,这篇文章主要介绍"Android studio开发怎么实现计算器功能"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"Android studio开发怎么实现计算
千家信息网最后更新 2025年01月16日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安全错误
数据库的锁怎样保障安全
数据库对象的重要性
科技互联网公司知网
网络安全威胁针对内部网络
w7系统服务器管理器
一起生活互联网科技
应用软件开发人员年终总结
手机内网怎么访问内网服务器
软件如何威胁网络安全英语
cf手游一进服务器就死机
南通服务器机柜批发
vba 数据库密码
国鑫 服务器
假期学生网络安全提示
在线网络技术服务原则
花蝶直播软件开发
网络数据库下载格式
ibm服务器管理口查看时间
mac 电脑做服务器
上海常用软件开发诚信经营
svn更改服务器地址
cepii数据库
云服务器ecs的账号
2021国家网络安全
通信和网络技术试题
计算机网络技术学校招生要求
梦幻手游服务器查询
智慧民航网络安全
云服务器租用安全性
企业软件开发 难点
通过网络技术提前查高考成绩