在Android studio 实现简易计算器App并实现加减乘除功能

结果

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:paddingBottom="10dp"android:paddingLeft="10dp"android:paddingRight="10dp"android:paddingTop="10dp"><EditTextandroid:id="@+id/et_result"android:hint="请输入数字"android:layout_width="match_parent"android:layout_height="100dp"android:layout_gravity="left"android:gravity="right"android:textSize="50sp" /><GridLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/sz"android:layout_gravity="center"android:orientation="horizontal"android:columnCount="4"android:rowCount="5"><Buttonandroid:id="@+id/btn_clear"android:layout_columnSpan="3"android:layout_gravity="fill_horizontal"android:text="C                   DEL"android:layout_rowWeight="1"android:textSize="26sp" /><Buttonandroid:id="@+id/btn_div"android:text="÷"android:layout_rowWeight="1"android:textSize="26sp" /><Buttonandroid:id="@+id/btn_1"android:text="1"android:layout_rowWeight="1"android:textSize="26sp"/><Buttonandroid:id="@+id/btn_2"android:text="2"android:layout_rowWeight="1"android:textSize="26sp" /><Buttonandroid:id="@+id/btn_3"android:text="3"android:layout_rowWeight="1"android:textSize="26sp" /><Buttonandroid:id="@+id/btn_add"android:text="+"android:layout_rowWeight="1"android:textSize="26sp" /><Buttonandroid:id="@+id/btn_4"android:text="4"android:layout_rowWeight="1"android:textSize="26sp" /><Buttonandroid:id="@+id/btn_5"android:text="5"android:layout_rowWeight="1"android:textSize="26sp" /><Buttonandroid:id="@+id/btn_6"android:text="6"android:layout_rowWeight="1"android:textSize="26sp" /><Buttonandroid:id="@+id/btn_sub"android:text="-"android:layout_rowWeight="1"android:textSize="26sp" /><Buttonandroid:id="@+id/btn_7"android:text="7"android:layout_rowWeight="1"android:textSize="26sp" /><Buttonandroid:id="@+id/btn_8"android:text="8"android:layout_rowWeight="1"android:textSize="26sp" /><Buttonandroid:id="@+id/btn_9"android:text="9"android:layout_rowWeight="1"android:textSize="26sp" /><Buttonandroid:id="@+id/btn_mul"android:text="×"android:layout_rowWeight="1"android:textSize="26sp" /><Buttonandroid:id="@+id/btn_0"android:text="0"android:layout_rowWeight="1"android:textSize="26sp" /><Buttonandroid:id="@+id/btn_dot"android:text="."android:layout_rowWeight="1"android:textSize="26sp" /><Buttonandroid:id="@+id/btn_equ"android:text="="android:layout_rowWeight="1"android:layout_columnSpan="2"android:layout_gravity="fill_horizontal"android:textSize="26sp" /></GridLayout></LinearLayout>

MainActivity.java

package com.example.a86189.szcounter;import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;public class MainActivity extends AppCompatActivity {Button btn1; // 数字1Button btn2; // 数字2Button btn3; // 数字3Button btn4; // 数字4Button btn5; // 数字5Button btn6; // 数字6Button btn7; // 数字7Button btn8; // 数字8Button btn9; // 数字9Button btn0; // 数字0Button add; // +号Button sub; // -号Button mul; // *号Button div; // 除号Button dot; // 小数点Button equ; // =号Button clear; //清除EditText result; // 显示文本double num1 = 0, num2 = 0; //计算的数字double Result = 0;//计算结果int op = 0;//判断操作符String opd = " ";//显示操作符@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 获取页面上的控件btn1 = (Button) findViewById(R.id.btn_1);btn2 = (Button)findViewById(R.id.btn_2);btn3 = (Button)findViewById(R.id.btn_3);btn4 = (Button)findViewById(R.id.btn_4);btn5 = (Button)findViewById(R.id.btn_5);btn6 = (Button)findViewById(R.id.btn_6);btn7 = (Button)findViewById(R.id.btn_7);btn8 = (Button)findViewById(R.id.btn_8);btn9 = (Button)findViewById(R.id.btn_9);btn0 = (Button)findViewById(R.id.btn_0);add =  (Button)findViewById(R.id.btn_add);sub =  (Button)findViewById(R.id.btn_sub);mul =  (Button)findViewById(R.id.btn_mul);div =  (Button)findViewById(R.id.btn_div);equ =  (Button)findViewById(R.id.btn_equ);dot =  (Button)findViewById(R.id.btn_dot);clear =(Button) findViewById(R.id.btn_clear);result =(EditText)  findViewById(R.id.et_result);// 按钮的单击事件btn1.setOnClickListener(new Click());btn2.setOnClickListener(new Click());btn3.setOnClickListener(new Click());btn4.setOnClickListener(new Click());btn5.setOnClickListener(new Click());btn6.setOnClickListener(new Click());btn7.setOnClickListener(new Click());btn8.setOnClickListener(new Click());btn9.setOnClickListener(new Click());btn0.setOnClickListener(new Click());add.setOnClickListener(new Click());sub.setOnClickListener(new Click());mul.setOnClickListener(new Click());div.setOnClickListener(new Click());equ.setOnClickListener(new Click());dot.setOnClickListener(new Click());clear.setOnClickListener(new Click());result.setOnClickListener(new Click());}// 设置按钮点击后的监听class Click implements View.OnClickListener {public void onClick(View v) {switch (v.getId()) {                //switch循环获取点击按钮后的值case R.id.btn_0:                //获取,0-9、小数点,并在编辑框显示String myString = result.getText().toString();myString += "0";result.setText(myString);break;case R.id.btn_1:String myString1 = result.getText().toString();myString1 += "1";result.setText(myString1);break;case R.id.btn_2:String myString2 = result.getText().toString();myString2 += "2";result.setText(myString2);break;case R.id.btn_3:String myString3 = result.getText().toString();myString3 += "3";result.setText(myString3);break;case R.id.btn_4:String myString4 = result.getText().toString();myString4 += "4";result.setText(myString4);break;case R.id.btn_5:String myString5 = result.getText().toString();myString5 += "5";result.setText(myString5);break;case R.id.btn_6:String myString6 = result.getText().toString();myString6 += "6";result.setText(myString6);break;case R.id.btn_7:String myString7 = result.getText().toString();myString7 += "7";result.setText(myString7);break;case R.id.btn_8:String myString8 = result.getText().toString();myString8 += "8";result.setText(myString8);break;case R.id.btn_9:String myString9 = result.getText().toString();myString9 += "9";result.setText(myString9);break;case R.id.btn_dot:String myStringDot = result.getText().toString();myStringDot += ".";result.setText(myStringDot);break;case R.id.btn_add:             //判断,使用加减乘除的操作符String myStringAdd = result.getText().toString();if (myStringAdd.equals(null)) {return;}num1 = Double.valueOf(myStringAdd);result.setText(null);op = 1;opd = "+";break;case R.id.btn_sub:String myStringSub = result.getText().toString();if (myStringSub.equals(null)) {return;}num1 = Double.valueOf(myStringSub);result.setText(null);op = 2;opd = "-";break;case R.id.btn_mul:String myStringMul = result.getText().toString();if (myStringMul.equals(null)) {return;}num1 = Double.valueOf(myStringMul);result.setText(null);op = 3;opd = "×";break;case R.id.btn_div:String myStringDiv = result.getText().toString();if (myStringDiv.equals(null)) {return;}num1 = Double.valueOf(myStringDiv);result.setText(null);op = 4;opd = "÷";break;case R.id.btn_clear:                 //清除,将编辑框文本显示为空result.setText(null);break;case R.id.btn_equ:                   //计算,以操作符为判断,选择所需的运算,并将结果输出String myStringEqu = result.getText().toString();if (myStringEqu.equals(null)) {return;}num2 = Double.valueOf(myStringEqu);result.setText(null);switch (op) {case 0:Result = num2;break;case 1:Result = num1 + num2;break;case 2:Result = num1 - num2;break;case 3:Result = num1 * num2;break;case 4:if (num2 == 0)                //除法中分子与分母之分Result = 0;elseResult = num1 / num2;break;default:Result = 0;break;}result.setText(Double.toString(num1) + opd + Double.toString(num2) + "=" + Double.toString(Result));    //将结果完整输出break;default:break;}}}
}

⭐⭐⭐持续更新.....

⭐⭐⭐每天提醒自己,自己就是个菜鸡!

⭐⭐⭐如果对您有帮助留下的每一个点赞、收藏、关注是对菜鸡创作的最大鼓励❀

⭐⭐⭐有相关问题可以写在评论区,一起学习,一起进步。

Android studio 简易计算器App的实现及实现加减乘除功能(附完整源码)相关推荐

  1. android 静态图片自动切换,Android静态图片人脸识别的完整demo(附完整源码)

    Android静态图片人脸识别的完整demo(附完整源码) 来源:互联网 作者:佚名 时间:2015-03-24 20:07 本文介绍了android静态识别人脸并进行标记人眼位置及人脸框的完整dem ...

  2. Android开发应用案例——简易计算器(附完整源码)

    Android开发-AS学习(一) Android开发-AS学习(二) 使用android studio开发简易计算器app(完整源码可在博主资源中自行下载) 最终效果: 开发步骤: 创建一个名为ca ...

  3. JavaGUI:多功能计算器(三)--AWT多语言定制(完整源码)

    用Java实现多功能双语计算器v0.34 一.多语言界面简介: 1. 多语言的必要性: a. 按键上的文本串名称并非每个人都能立即理解,无论是英文还是中文都存在局限性,尤其不熟悉数学符号的情景:菜单项 ...

  4. Android Studio简单计算器App实现

    一.内容: 基于AndroidStudio,实现一个简易的计算器(界面+简单的计算). 二.思路 1.首先设计界面,activity_main.xml 计算器界面,使用了网格布局GridLayout, ...

  5. [内附完整源码和文档] 基于Android Studio实现的新闻APP

    一.作业题目 实现一个安卓新闻类App,最低支持安卓系统版本为5.1(minSdkVersion 为API 16 https://developer.android.com/guide/topics/ ...

  6. [内附完整源码和文档] 基于Android的移动手机端五子棋游戏APP的设计与实现

    一.项目概述 近年来,随着安卓手机的普及,安卓游戏成为广大用户关注的方向.五子棋作为一个棋类竞技运动,在民间十分流行,为了熟悉五子棋规则及技巧,以及研究简单的人工智能,决定用Java开发五子棋游戏,主 ...

  7. [内附完整源码和文档] 基于Android的手机音乐播放器的设计与实现

    摘 要 随着Android系统和移动互联网的快速崛起,手机已经成为人们生活不可缺的一部分,在现代人的生活中,人们生活节奏的加快,生活压力越来越大,碎片化的时间越来越多,那么一个可以在碎片化的时间内调节 ...

  8. [内附完整源码和文档] 基于Android网络聊天室的设计与实现

    前 言 随着我国科技水平的提高和移动通讯的飞速发展与普及,人们通过移动网络可做的事情越来越多,人们之间的沟通不在局限于面对面的对话,人们通过手机可以很方便的上网并通过手机上的APP进行聊天这样既节省话 ...

  9. 矩阵化为行最简形矩阵计算器_[内附完整源码和文档] 基于C++的小型特殊计算器...

    1.设计内容 实现一个特殊的计算器,可以实现复数.有理数.矩阵和集合的特殊计算.程序可以实现复数.有理数的加.减.乘.除,可以实现矩阵的加法.减法和乘法运算,也可以实现集合的求交集.并集.子集的运算. ...

最新文章

  1. SAP SD-如何控制定价折扣的总额度
  2. window.Event参数详解
  3. SAP Spartacus里和focus相关的directive之间的继承关系
  4. Wallop蛋和Gmail蛋
  5. MeEdu - 开源在线教育点播系统。
  6. ListView setOnItemClickListener无法响应点击事件解决
  7. L2-022 重排链表-PAT团体程序设计天梯赛GPLT
  8. java 异常处理发生异常_Java中的异常处理
  9. 四川地震,物联网地震预警系统立功了
  10. Hive vs HBase (配合使用才是最佳方案)
  11. 写任意正整数的次幂_并发扣款一致性,幂等性问题,这个话题还没聊完
  12. 电脑打字学习_新手如何学会电脑打字 走上盲打之路
  13. 直流电机驱动电路设计
  14. Mac的邮件客户端使用--登录GMail邮箱和QQ邮箱的解决方案
  15. SpringBoot 使用异常自定义错误码
  16. 常用通讯电平转换电路整理
  17. 第一节、同步回调和异步回调?
  18. 那些年啊,那些事——一个程序员的奋斗史 ——33
  19. python数据质量检查
  20. 什么是api_什么是API

热门文章

  1. SQLserver修改表名和列名
  2. python最小二乘法_用python实现最小二乘法
  3. 梦想Android版CAD控件2021.12.06更新
  4. JavaScript连载36-上传文件以及获取input表单焦点
  5. [参考文档] [翻译]Oracle 12c R2优化器白皮书
  6. 【论文分享】Clothes-Changing Person Re-identification with RGB Modality Only
  7. Java加密与解密的艺术~SHA算法简介
  8. 使用WM_COPYDATA消息在不同进程间或窗口间通信传递数据
  9. Sonarqube 不同产品价格
  10. 2021江苏省艺术高考成绩查询,2021江苏艺术统考/联考成绩查询时间及入口