样式如下图:

1、布局文件:

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"

tools:context=".MainActivity">

android:id="@+id/jieguo"

android:layout_width="match_parent"

android:layout_height="128dp"

android:textSize="30sp"

android:textColor="@android:color/holo_green_dark"

app:layout_constraintBottom_toBottomOf="@id/ac"

app:layout_constraintLeft_toLeftOf="parent"

app:layout_constraintRight_toRightOf="parent"

app:layout_constraintTop_toTopOf="parent"

tools:layout_editor_absoluteX="17dp"

tools:layout_editor_absoluteY="71dp" />

android:id="@+id/ac"

android:layout_width="match_parent"

android:layout_height="51dp"

android:text="c"

app:layout_constraintBottom_toTopOf="@id/btn1"

app:layout_constraintLeft_toLeftOf="parent"

app:layout_constraintRight_toRightOf="parent"

app:layout_constraintTop_toBottomOf="@id/jieguo"

tools:layout_editor_absoluteX="16dp"

tools:layout_editor_absoluteY="270dp" />

android:id="@+id/btn1"

android:layout_width="92dp"

android:layout_height="50dp"

android:text="1"

app:layout_constraintBottom_toTopOf="@id/btn4"

app:layout_constraintLeft_toLeftOf="parent"

app:layout_constraintRight_toLeftOf="@+id/btn2"

app:layout_constraintTop_toBottomOf="@id/ac"

tools:layout_editor_absoluteY="394dp" />

android:id="@+id/btn2"

android:layout_width="92dp"

android:layout_height="50dp"

android:text="2"

app:layout_constraintBaseline_toBaselineOf="@+id/btn1"

app:layout_constraintLeft_toRightOf="@+id/btn1"

app:layout_constraintRight_toLeftOf="@+id/btn3"

app:layout_constraintTop_toBottomOf="@id/ac"

app:layout_constraintBottom_toTopOf="@+id/btn5"

tools:layout_editor_absoluteX="116dp"

tools:layout_editor_absoluteY="394dp" />

android:id="@+id/btn3"

android:layout_width="92dp"

android:layout_height="50dp"

android:text="3"

app:layout_constraintBaseline_toBaselineOf="@+id/btn2"

app:layout_constraintLeft_toRightOf="@+id/btn2"

app:layout_constraintRight_toLeftOf="@+id/jiafa"

app:layout_constraintTop_toBottomOf="@id/ac"

app:layout_constraintBottom_toTopOf="@+id/btn6"

tools:layout_editor_absoluteX="227dp"

tools:layout_editor_absoluteY="389dp" />

android:id="@+id/jiafa"

android:layout_width="92dp"

android:layout_height="50dp"

android:text="+"

app:layout_constraintBaseline_toBaselineOf="@+id/btn3"

app:layout_constraintLeft_toRightOf="@+id/btn3"

app:layout_constraintRight_toRightOf="parent"

app:layout_constraintTop_toBottomOf="@id/ac"

app:layout_constraintBottom_toTopOf="@+id/jianfa"

tools:layout_editor_absoluteX="338dp"

tools:layout_editor_absoluteY="389dp" />

android:id="@+id/btn4"

android:layout_width="92dp"

android:layout_height="50dp"

android:text="4"

app:layout_constraintBottom_toTopOf="@id/btn7"

app:layout_constraintLeft_toLeftOf="parent"

app:layout_constraintRight_toLeftOf="@+id/btn5"

app:layout_constraintTop_toBottomOf="@id/btn1"

tools:layout_editor_absoluteX="16dp"

tools:layout_editor_absoluteY="508dp" />

android:id="@+id/btn5"

android:layout_width="92dp"

android:layout_height="50dp"

android:text="5"

app:layout_constraintBaseline_toBaselineOf="@+id/btn4"

app:layout_constraintLeft_toRightOf="@+id/btn4"

app:layout_constraintRight_toLeftOf="@+id/btn6"

app:layout_constraintTop_toBottomOf="@id/btn2"

app:layout_constraintBottom_toTopOf="@+id/btn8"

tools:layout_editor_absoluteX="120dp"

tools:layout_editor_absoluteY="506dp" />

android:id="@+id/btn6"

android:layout_width="92dp"

android:layout_height="50dp"

android:text="6"

app:layout_constraintBaseline_toBaselineOf="@+id/btn5"

app:layout_constraintLeft_toRightOf="@+id/btn5"

app:layout_constraintRight_toLeftOf="@+id/jianfa"

app:layout_constraintTop_toBottomOf="@id/btn3"

app:layout_constraintBottom_toTopOf="@+id/btn9"

/>

android:id="@+id/jianfa"

android:layout_width="92dp"

android:layout_height="50dp"

android:layout_marginEnd="8dp"

android:layout_marginRight="8dp"

android:text="-"

app:layout_constraintBaseline_toBaselineOf="@+id/btn6"

app:layout_constraintBottom_toTopOf="@+id/chengfa"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintLeft_toRightOf="@+id/btn6"

app:layout_constraintRight_toRightOf="parent"

app:layout_constraintTop_toBottomOf="@id/jiafa" />

android:id="@+id/btn7"

android:layout_width="92dp"

android:layout_height="50dp"

android:text="7"

app:layout_constraintBottom_toTopOf="@id/deng"

app:layout_constraintLeft_toLeftOf="parent"

app:layout_constraintRight_toLeftOf="@id/btn8"

app:layout_constraintTop_toBottomOf="@id/btn4"

tools:layout_editor_absoluteX="16dp"

tools:layout_editor_absoluteY="602dp" />

android:id="@+id/btn8"

android:layout_width="92dp"

android:layout_height="50dp"

android:text="8"

app:layout_constraintBaseline_toBaselineOf="@+id/btn7"

app:layout_constraintLeft_toRightOf="@id/btn7"

app:layout_constraintRight_toLeftOf="@id/btn9"

app:layout_constraintTop_toBottomOf="@id/btn5"

app:layout_constraintBottom_toTopOf="@+id/btn0"

tools:layout_editor_absoluteX="121dp"

tools:layout_editor_absoluteY="602dp" />

android:id="@+id/btn9"

android:layout_width="92dp"

android:layout_height="50dp"

android:text="9"

app:layout_constraintBaseline_toBaselineOf="@+id/btn8"

app:layout_constraintLeft_toRightOf="@id/btn8"

app:layout_constraintRight_toLeftOf="@id/chengfa"

app:layout_constraintTop_toBottomOf="@id/btn6"

app:layout_constraintBottom_toTopOf="@+id/xiaoshudian"

tools:layout_editor_absoluteX="222dp"

tools:layout_editor_absoluteY="602dp" />

android:id="@+id/chengfa"

android:layout_width="92dp"

android:layout_height="50dp"

android:text="*"

app:layout_constraintBaseline_toBaselineOf="@+id/btn9"

app:layout_constraintLeft_toRightOf="@id/btn9"

app:layout_constraintRight_toRightOf="parent"

app:layout_constraintTop_toBottomOf="@id/jianfa"

app:layout_constraintBottom_toTopOf="@+id/chufa"

tools:layout_editor_absoluteX="338dp"

tools:layout_editor_absoluteY="602dp" />

android:id="@+id/deng"

android:layout_width="92dp"

android:layout_height="50dp"

android:text="="

app:layout_constraintBottom_toBottomOf="parent"

app:layout_constraintLeft_toLeftOf="parent"

app:layout_constraintRight_toLeftOf="@id/btn0"

app:layout_constraintTop_toBottomOf="@id/btn7"

tools:layout_editor_absoluteX="14dp"

tools:layout_editor_absoluteY="666dp" />

android:id="@+id/btn0"

android:layout_width="92dp"

android:layout_height="50dp"

android:text="0"

app:layout_constraintBaseline_toBaselineOf="@+id/deng"

app:layout_constraintLeft_toRightOf="@id/deng"

app:layout_constraintRight_toLeftOf="@id/xiaoshudian"

app:layout_constraintTop_toBottomOf="@id/btn8"

app:layout_constraintBottom_toBottomOf="parent"

tools:layout_editor_absoluteX="117dp"

tools:layout_editor_absoluteY="664dp" />

android:id="@+id/xiaoshudian"

android:layout_width="92dp"

android:layout_height="50dp"

android:text="."

app:layout_constraintBaseline_toBaselineOf="@+id/btn0"

app:layout_constraintLeft_toRightOf="@id/btn0"

app:layout_constraintRight_toLeftOf="@id/chufa"

app:layout_constraintTop_toBottomOf="@id/btn9"

app:layout_constraintBottom_toBottomOf="parent"

tools:layout_editor_absoluteX="223dp"

tools:layout_editor_absoluteY="667dp" />

android:id="@+id/chufa"

android:layout_width="92dp"

android:layout_height="50dp"

android:text="/"

app:layout_constraintBaseline_toBaselineOf="@+id/xiaoshudian"

app:layout_constraintLeft_toRightOf="@id/xiaoshudian"

app:layout_constraintRight_toRightOf="parent"

app:layout_constraintTop_toBottomOf="@id/chengfa"

app:layout_constraintBottom_toBottomOf="parent"

tools:layout_editor_absoluteX="338dp"

tools:layout_editor_absoluteY="664dp" />

2、MainActivity.kt文件

class MainActivity : AppCompatActivity(), View.OnClickListener {

var firstNum=""

var secondNum=""

var op=""            //操作符号

override fun onCreate(savedInstanceState: Bundle?) {

super.onCreate(savedInstanceState)

setContentView(R.layout.activity_main)

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)

xiaoshudian.setOnClickListener(this)//小数点

ac.setOnClickListener(this)//清除

jiafa.setOnClickListener(this)//加法

jianfa.setOnClickListener(this)//减法

chengfa.setOnClickListener(this)//乘法

chufa.setOnClickListener(this)//除法

deng.setOnClickListener (this)//等于

jieguo.setOnClickListener(this)//打印计算结果

}

override fun onClick(v: View?) {

doClick(""+(vas Button).text)

}

private  fun doClick(value:String){

when(value){

"+","-","*","/"->{

if (firstNum?.isNotEmpty()&&secondNum?.isEmpty()){

op=value

}else if(firstNum?.isNotEmpty()&&secondNum?.isNotEmpty()){

op=value

dojisuan()

}

}

"="->{

if(firstNum?.isNotEmpty() &&secondNum?.isNotEmpty()){

dojisuan()

op=""

}

}

"c"->{

firstNum =""

secondNum =""

op =""

jieguo.text =""

}

else->{

/*  println(op?.isNotEmpty())*/

if (op?.isNotEmpty()) {

if (op.equals("/")&&secondNum?.isEmpty() && value?.equals("0")) {

Toast.makeText(this, "输入错误", Toast.LENGTH_SHORT).show()

}else {

secondNum += value

jieguo.text=secondNum

}

}else {

firstNum += value

jieguo.text=firstNum

}

}

}

}

fun  dojisuan(){

var result=0.0

when(op){

"+"-> result=firstNum.toDouble() +secondNum.toDouble()

"-"-> result=firstNum.toDouble() -secondNum.toDouble()

"*"-> result=firstNum.toDouble() *secondNum.toDouble()

"/"-> result=firstNum.toDouble() /secondNum.toDouble()

}

jieguo.text = result.toString()

firstNum=result.toString()

secondNum=""

}

}

android用kotlin制作计算器,使用Kotlin做一个简单计算器相关推荐

  1. 做一个简单计算器(两个数的加减乘除)扣扣116119409

    做一个简单计算器(两个数的加减乘除) 一.语言和环境 a)实现语言Java b)环境要求Android Studio 二.要求: 1.可以清空,可以回退(一个一个回退): 2.按下去之后textvie ...

  2. 使用Qt做一个简单计算器

    title: Calculator date: 2022-09-04 11:10:12 tags: [Qt, 应用, C++] typora-root-url: Calculator 使用Qt做一个简 ...

  3. c语言设计程序计算器,C语言程序设计,做一个简单计算器

    题目: C语言程序设计,做一个简单计算器 程序内容有:加减乘除和平方,立方,开方等.用if或者swith结构来编程. 算加法时只输出加法的结果,算减法时只出减法的结果,如此类推. 解答: 已发送, # ...

  4. php编写一个简单计算器程序,PHP做一个简单的计算器

    本文为大家讲解通过分支循环知识及PHP的表单处理一个简单的计算器 首先看下效果 通过网页显示计算器样式 在网页样式中可以看出,有两个输入框Num1.Num2和一个下拉框Type 还有一个提交按钮 在输 ...

  5. python开发酷q插件gui_【酷Q插件制作】教大家做一个简单的签到插件

    .版本 2.支持库 internet .程序集 程序集1 .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码 _临时子程序 ()'在初始化代码执行完毕后调用测试代码 返回 (0 ...

  6. Matlab中用GUI做计算器,怎样用MATLAB中的GUI做一个简单计算器

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 function varargout = jisuanqi(varargin) gui_Singleton = 1; gui_State = struct ...

  7. MATLAB中计算器的设立,怎样用MATLAB中的GUI做一个简单计算器

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 function varargout = jisuanqi(varargin) gui_Singleton = 1; gui_State = struct ...

  8. python做的简单gui计算器_Python计算器–使用Tkinter创建一个简单的GUI计算器

    在Python计算器教程中,您将学习创建简单的GUI计算器.在这篇文章中,我将向您展示如何使用python中的tkinter模块开发一个简单的计算器.因此,让我们进一步创建一个简单的python计算器 ...

  9. java中用swing做一个windows计算器

    java中用swing做一个windows计算器 主函数 普通计数器 科学计算器 注意: 前言: 来看这篇教程估计都是java课程设计吧,现在已经没有公司很少使用swing组件了,java主要还是开发 ...

最新文章

  1. windbg-.process切换进程
  2. MySQL创建索引(CREATE INDEX)
  3. SUSE Linux 启动顺序
  4. Flink 1.12 CDH 6.3 集成
  5. openCVPracticalExercise学习笔记03
  6. 虚拟化--051 vsphere linux搭建NTP服务器搭建
  7. 解决百度BMR的spark集群开启slaves结点的问题
  8. python静态地图_Matplotlib Toolkits:地图绘制工具
  9. html做table某一列的合计,Jquery、js计算table列合计
  10. 学校预付费云平台系统 的设计与应用
  11. java反编译 luyten_Java——反编译工具 JD-GUI procyon-decompiler luyten crf (转)
  12. 代码生成工具(1) ---关于代码生成器
  13. 十二进制转二进制--2018
  14. CKA认证考题+解析
  15. css样式表的作用和意义,什么是CSS?
  16. 第18届中国智能家居主题沙龙在北京成功举办
  17. 程序员的蜕变之旅-健身
  18. mysql实验总结_数据库实验的心得体会.docx
  19. powerCenter介绍
  20. Swift将改变一切

热门文章

  1. 借力IBM 贵州移动搭建云计算民生服务平台
  2. GetManifestResourceStream得到的Stream是null的解决
  3. 好看的php提示弹窗,漂亮的jquery提示效果(仿腾讯弹出层)
  4. oracle关联视图查询满_对于复杂的SQL, Oracle是怎么做的?
  5. 字符串处理——字典树
  6. 跳蚤(POJ-1091)
  7. 奇怪的电梯(信息学奥赛一本通-T1360)
  8. 信息学奥赛一本通C++语言——1124:矩阵加法
  9. 一起学习C语言:初步进入编程世界(一)
  10. MFC基于多文档框架(对话框内嵌office控件(word文档))