这是计算器界面的截图,做的和iPhone上的计算器一样

这下面就全是代码了~ ,工程链接如下

链接:https://pan.baidu.com/s/1epUdoX5yLXOSTXBKJb6_OA 
提取码:zl4q

MainActivity.java

package com.app.MyComputer;import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.app.Activity;public class MainActivity extends Activity implements OnClickListener {//声明控件Button btn0;//0键Button btn1;//1键Button btn2;//2键Button btn3;//3键Button btn4;//4键Button btn5;//5键Button btn6;//6键Button btn7;//7键Button btn8;//8键Button btn9;//9键Button btnC;//清除键Button btnAdd;//+键Button btnSub;//-键Button btnMul;//*键Button btnDiv;//除键Button btnEqu;//等于键Button btnDot;//点键EditText tvResult;//声明两个参数。接收tvResult前后的值double num1 = 0, num2 = 0;double Result = 0;//计算结果int op = 0;//判断操作数,String opd = " ";//显示操作符boolean isClickEqu = false;//判断是否按了“=”按钮@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//从布局文件中获取控件,btn0 = (Button) findViewById(R.id.btn0);btn1 = (Button) findViewById(R.id.btn1);btn2 = (Button) findViewById(R.id.btn2);btn3 = (Button) findViewById(R.id.btn3);btn4 = (Button) findViewById(R.id.btn4);btn5 = (Button) findViewById(R.id.btn5);btn6 = (Button) findViewById(R.id.btn6);btn7 = (Button) findViewById(R.id.btn7);btn8 = (Button) findViewById(R.id.btn8);btn9 = (Button) findViewById(R.id.btn9);btnC = (Button) findViewById(R.id.btnC);btnEqu = (Button) findViewById(R.id.btnEqu);btnAdd = (Button) findViewById(R.id.btnAdd);btnSub = (Button) findViewById(R.id.btnSub);btnMul = (Button) findViewById(R.id.btnMul);btnDiv = (Button) findViewById(R.id.btnDiv);btnDot = (Button) findViewById(R.id.btnDot);tvResult = (EditText) findViewById(R.id.tvResult);//添加监听btn0.setOnClickListener(this);btn1.setOnClickListener(this);btn2.setOnClickListener(this);btn3.setOnClickListener(this);btn4.setOnClickListener(this);btn5.setOnClickListener(this);btn6.setOnClickListener(this);btn7.setOnClickListener(this);btn8.setOnClickListener(this);btn9.setOnClickListener(this);btnDot.setOnClickListener(this);btnC.setOnClickListener(this);btnAdd.setOnClickListener(this);btnSub.setOnClickListener(this);btnMul.setOnClickListener(this);btnDiv.setOnClickListener(this);btnEqu.setOnClickListener(this);}@Overridepublic void onClick(View v) {switch (v.getId()) {                //switch循环获取点击按钮后的值case R.id.btn0:                //获取,0-9、小数点,并在编辑框显示String myString = tvResult.getText().toString();myString += "0";tvResult.setText(myString);break;case R.id.btn1:String myString1 = tvResult.getText().toString();myString1 += "1";tvResult.setText(myString1);break;case R.id.btn2:String myString2 = tvResult.getText().toString();myString2 += "2";tvResult.setText(myString2);break;case R.id.btn3:String myString3 = tvResult.getText().toString();myString3 += "3";tvResult.setText(myString3);break;case R.id.btn4:String myString4 = tvResult.getText().toString();myString4 += "4";tvResult.setText(myString4);break;case R.id.btn5:String myString5 = tvResult.getText().toString();myString5 += "5";tvResult.setText(myString5);break;case R.id.btn6:String myString6 = tvResult.getText().toString();myString6 += "6";tvResult.setText(myString6);break;case R.id.btn7:String myString7 = tvResult.getText().toString();myString7 += "7";tvResult.setText(myString7);break;case R.id.btn8:String myString8 = tvResult.getText().toString();myString8 += "8";tvResult.setText(myString8);break;case R.id.btn9:String myString9 = tvResult.getText().toString();myString9 += "9";tvResult.setText(myString9);break;case R.id.btnAdd:             //判断,使用加减乘除的操作符String myStringAdd = tvResult.getText().toString();if (myStringAdd.equals(null)) {return;}num1 = Double.valueOf(myStringAdd);tvResult.setText(null);op = 1;opd = "+";break;case R.id.btnSub:String myStringSub = tvResult.getText().toString();if (myStringSub.equals(null)) {return;}num1 = Double.valueOf(myStringSub);tvResult.setText(null);op = 2;opd = "-";break;case R.id.btnMul:String myStringMul = tvResult.getText().toString();if (myStringMul.equals(null)) {return;}num1 = Double.valueOf(myStringMul);tvResult.setText(null);op = 3;opd = "×";break;case R.id.btnDiv:String myStringDiv = tvResult.getText().toString();if (myStringDiv.equals(null)) {return;}num1 = Double.valueOf(myStringDiv);tvResult.setText(null);op = 4;opd = "÷";break;case R.id.btnC:                 //清除,将编辑框文本显示为空tvResult.setText("");Result = 0;break;case R.id.btnDot:                 //加入小数点·String myStringDot = tvResult.getText().toString();myStringDot += ".";tvResult.setText(myStringDot);break;case R.id.btnEqu:                   //计算,以操作符为判断,选择所需的运算,并将结果输出String myStringEqu = tvResult.getText().toString();if (myStringEqu.equals(null)) {return;}num2 = Double.valueOf(myStringEqu);tvResult.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;}tvResult.setText(Double.toString(Result));//tvResult.setText(Double.toString(num1) + opd + Double.toString(num2) + "=" + Double.toString(Result));    //将结果完整输出op = 0;break;default:break;}}
}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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:background="#000000"><!--显示结果--><!--<LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"><TextViewandroid:id="@+id/tvResult"android:layout_width="fill_parent"android:layout_height="wrap_content"android:height="50dp"android:text="@string/tvResult" /></LinearLayout>--><EditTextandroid:id="@+id/tvResult"android:layout_width="395dp"android:layout_height="209dp"android:focusable="false"android:gravity="right"android:text="0"android:textColor="#FFFFFF"android:textSize="85sp"app:layout_constraintBottom_toTopOf="@+id/btnC"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.0"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="1.0" /><Buttonandroid:id="@+id/btnC"android:layout_width="100dp"android:layout_height="100dp"android:width="75dp"android:background="@drawable/circle1"android:text="AC"android:textAppearance="@style/TextAppearance.AppCompat.Display2"android:textColor="@android:color/background_dark"app:layout_constraintBottom_toTopOf="@+id/btn7"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.0"app:layout_constraintStart_toStartOf="parent" /><Buttonandroid:id="@+id/btn0"android:layout_width="100dp"android:layout_height="100dp"android:width="75dp"android:background="@drawable/circle2"android:text="0"android:textAppearance="@style/TextAppearance.AppCompat.Display2"android:textColor="#FFFFFF"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintStart_toStartOf="parent" /><Buttonandroid:id="@+id/btn1"android:layout_width="100dp"android:layout_height="100dp"android:width="75dp"android:background="@drawable/circle2"android:text="1"android:textAppearance="@style/TextAppearance.AppCompat.Display2"android:textColor="#FFFFFF"app:layout_constraintBottom_toTopOf="@+id/btn0"app:layout_constraintStart_toStartOf="parent" /><Buttonandroid:id="@+id/btn2"android:layout_width="100dp"android:layout_height="100dp"android:width="75dp"android:background="@drawable/circle2"android:text="2"android:textAppearance="@style/TextAppearance.AppCompat.Display2"android:textColor="#FFFFFF"app:layout_constraintBottom_toTopOf="@+id/btnDot"app:layout_constraintStart_toEndOf="@+id/btn1" /><Buttonandroid:id="@+id/btn3"android:layout_width="100dp"android:layout_height="100dp"android:width="75dp"android:background="@drawable/circle2"android:bufferType="spannable"android:text="3"android:textAppearance="@style/TextAppearance.AppCompat.Display2"android:textColor="#FFFFFF"app:layout_constraintBottom_toTopOf="@+id/btnEqu"app:layout_constraintStart_toEndOf="@+id/btn2" /><Buttonandroid:id="@+id/btn4"android:layout_width="100dp"android:layout_height="100dp"android:width="75dp"android:background="@drawable/circle2"android:text="4"android:textAppearance="@style/TextAppearance.AppCompat.Display2"android:textColor="#FFFFFF"app:layout_constraintBottom_toTopOf="@+id/btn1"app:layout_constraintStart_toStartOf="parent" /><Buttonandroid:id="@+id/btn5"android:layout_width="100dp"android:layout_height="100dp"android:width="75dp"android:background="@drawable/circle2"android:text="5"android:textAppearance="@style/TextAppearance.AppCompat.Display2"android:textColor="#FFFFFF"app:layout_constraintBottom_toTopOf="@+id/btn2"app:layout_constraintStart_toEndOf="@+id/btn4" /><Buttonandroid:id="@+id/btn6"android:layout_width="100dp"android:layout_height="100dp"android:width="75dp"android:background="@drawable/circle2"android:text="6"android:textAppearance="@style/TextAppearance.AppCompat.Display2"android:textColor="#FFFFFF"app:layout_constraintBottom_toTopOf="@+id/btn3"app:layout_constraintStart_toEndOf="@+id/btn5" /><Buttonandroid:id="@+id/btn7"android:layout_width="100dp"android:layout_height="100dp"android:layout_row="0"android:layout_column="5"android:width="75dp"android:background="@drawable/circle2"android:text="7"android:textAppearance="@style/TextAppearance.AppCompat.Display2"android:textColor="#FFFFFF"app:layout_constraintBottom_toTopOf="@+id/btn4"app:layout_constraintStart_toStartOf="parent" /><Buttonandroid:id="@+id/btn8"android:layout_width="100dp"android:layout_height="100dp"android:width="75dp"android:background="@drawable/circle2"android:text="8"android:textAppearance="@style/TextAppearance.AppCompat.Display2"android:textColor="#FFFFFF"app:layout_constraintBottom_toTopOf="@+id/btn5"app:layout_constraintStart_toEndOf="@+id/btn7" /><Buttonandroid:id="@+id/btn9"android:layout_width="100dp"android:layout_height="100dp"android:width="75dp"android:background="@drawable/circle2"android:text="9"android:textAppearance="@style/TextAppearance.AppCompat.Display2"android:textColor="#FFFFFF"app:layout_constraintBottom_toTopOf="@+id/btn6"app:layout_constraintStart_toEndOf="@+id/btn8" /><Buttonandroid:id="@+id/btnSub"android:layout_width="100dp"android:layout_height="100dp"android:width="75dp"android:background="@drawable/circle4"android:text="一"android:textAppearance="@style/TextAppearance.AppCompat.Body2"android:textColor="#FFFFFF"android:textSize="24sp"app:layout_constraintBottom_toTopOf="@+id/btnAdd"app:layout_constraintStart_toEndOf="@+id/btn3" /><Buttonandroid:id="@+id/btnAdd"android:layout_width="100dp"android:layout_height="100dp"android:width="75dp"android:background="@drawable/circle4"android:text="+"android:textAppearance="@style/TextAppearance.AppCompat.Display2"android:textColor="#FFFFFF"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintStart_toEndOf="@+id/btnEqu" /><Buttonandroid:id="@+id/btnMul"android:layout_width="100dp"android:layout_height="100dp"android:width="75dp"android:background="@drawable/circle4"android:text="×"android:textAppearance="@style/TextAppearance.AppCompat.Display2"android:textColor="#FDFFFFFF"app:layout_constraintBottom_toTopOf="@+id/btnSub"app:layout_constraintStart_toEndOf="@+id/btn6" /><Buttonandroid:id="@+id/btnDot"android:layout_width="100dp"android:layout_height="100dp"android:width="10dp"android:background="@drawable/circle2"android:text="."android:textAppearance="@style/TextAppearance.AppCompat.Display2"android:textColor="#FFFFFF"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintStart_toEndOf="@+id/btn0" /><Buttonandroid:id="@+id/btnEqu"android:layout_width="100dp"android:layout_height="100dp"android:width="75dp"android:background="@drawable/circle2"android:text="="android:textAppearance="@style/TextAppearance.AppCompat.Display2"android:textColor="#FFFFFF"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintStart_toEndOf="@+id/btnDot" /><Buttonandroid:id="@+id/btnDiv"android:layout_width="100dp"android:layout_height="100dp"android:width="75dp"android:background="@drawable/circle4"android:text="/"android:textAppearance="@style/TextAppearance.AppCompat.Display2"android:textColor="#FFFFFF"app:layout_constraintBottom_toTopOf="@+id/btnMul"app:layout_constraintStart_toEndOf="@+id/btn9" /></androidx.constraintlayout.widget.ConstraintLayout>

基于Android的计算器(代码行数足够用来交大作业)相关推荐

  1. Android Studio查看代码行数和删除注释空行等

    在Android Studio中: 一.删除行注释 1.ctrl+r,打开替换功能.出现下图: 2.操作如图: 3.单击上图中的第4步替换之后,我示例程序中的那个黄色注释就没了,如果想要把所有行注释都 ...

  2. android studio统计方法数,android studio如何统计代码行数

    1.首先打开Android Studio开发工具. 2.FileSettings选项或者单击快捷菜单里的settings设置图标. 3.弹出settings对话框,搜索框输入 line 敲回车搜索. ...

  3. 【原】Mac下统计任意文件夹中代码行数的工具——cloc

    这里介绍一个Mac系统统计代码行数的工具cloc. 1.首先,安装homebrew,已安装的请跳过. 打开终端工具Terminal,输入下列命令.过程中会让你按RETURN键以及输入mac桌面密码,按 ...

  4. eclipse代码量统计插件_Android Studio 代码行数统计插件Statistic的简单使用

    在项目开发过程中,有时候需要统计代码行数(比如组长想关心一下你的代码量,或者要申请软件著作权时),需要统计的文件类型主要是 .java..xml..kt等,已经有人开发好相关插件了,如果你是用Andr ...

  5. 正确定位混淆后Crash代码行数

    Android--定位混淆后Crash代码行数 一.需求背景 二.前期准备 三.对混淆日志进行还原 四.示例 一.需求背景 打包时需要对代码进行混淆,目的是增加安全性,防⽌反编译.但这会导致App崩溃 ...

  6. 如何统计项目的代码行数

    如何统计项目的代码行数 博客分类: Work summary 公司想要申请软件著作权,需要统计代码行数,找到方法如下: 方法一: 推荐:使用source counter软件进行统计,统计结果很详细. ...

  7. cloc JAVA文件_Mac下统计任意文件夹中代码行数的工具——cloc

    这里介绍一个Mac系统统计代码行数的工具cloc. 1.首先,安装homebrew,已安装的请跳过. 打开终端工具Terminal,输入下列命令.过程中会让你按RETURN键以及输入mac桌面密码,按 ...

  8. 《逆袭大学》文摘——9.1 一切让代码行数说话

    说明:在大学生普遍习惯应试模式的学习的背景下,我提倡大学生以实践开路,保证学习的效果,找到学习的方法,以此将理论和实践结合起来.也不断有学生咨询如何开展实践,实践要做什么.在拙作<逆袭大学--传 ...

  9. git 查看修改的代码行数,新增的文件以及删除的代码行数

    有时候想知道提交的代码修改了哪些文件,以及新增和删除的代码行数 git 命令: git log --stat

最新文章

  1. 微型计算机显卡必须插在主板的,第一章 计算机基础知识(2)
  2. 最小生成树算法详解(prim+kruskal)
  3. dos拼接字符串以及截取字符串
  4. SAP修改消息内容和报错类型(SE91和OBA5)
  5. 业务活动监视器(BAM)2.0带来的革命
  6. 2018java最新面试题
  7. php+larvael,PHP+Laravel的简单应用教程【ajax的使用】
  8. 网页编辑PHP变量,编辑文件中的php代码和变量
  9. Open3d之内部形状描述子ISS
  10. 一般纳税人与小规模纳税人有什么区别
  11. 凤凰新闻app sn
  12. net.reflector8.5.0.179过了试用期,要求输入序列号怎么办 注册机 破解
  13. 实时视频通话超低延迟架构的思考与实践
  14. linux文件扫描并打印,Linux办公一条龙—Linux中扫描、打印的实现
  15. SQL中的update
  16. 塞雷三分钟漫画中国史4
  17. 大数据应用统一集成平台CDAP简介
  18. 芯片加速器 Accelerator
  19. 为什么wps office在编辑文字鼠标点击一下整篇文字的背景就立刻变为灰色的
  20. 农信社计算机笔试百度云,农信社真题:2010年河南农村信用社招聘考试 计算机考试笔试部分...

热门文章

  1. 2023年10月自考报名建议及备考复习方法
  2. 移动App开发(包含iOS和Android转型)
  3. java 8583报文解析_8583报文 55域JAVA的解析
  4. 样式link属性media用法--媒体类型查询
  5. linux最低配置版本,Linux各个版本配置要求
  6. chemi.ren让你停车无忧,做你的贴心车秘书
  7. 下拉列表前端实现步骤
  8. Codeforces 144D: Missile Silos
  9. stm32添加.c和.h文件问题
  10. java intern方法