android用kotlin制作计算器,使用Kotlin做一个简单计算器
样式如下图:
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做一个简单计算器相关推荐
- 做一个简单计算器(两个数的加减乘除)扣扣116119409
做一个简单计算器(两个数的加减乘除) 一.语言和环境 a)实现语言Java b)环境要求Android Studio 二.要求: 1.可以清空,可以回退(一个一个回退): 2.按下去之后textvie ...
- 使用Qt做一个简单计算器
title: Calculator date: 2022-09-04 11:10:12 tags: [Qt, 应用, C++] typora-root-url: Calculator 使用Qt做一个简 ...
- c语言设计程序计算器,C语言程序设计,做一个简单计算器
题目: C语言程序设计,做一个简单计算器 程序内容有:加减乘除和平方,立方,开方等.用if或者swith结构来编程. 算加法时只输出加法的结果,算减法时只出减法的结果,如此类推. 解答: 已发送, # ...
- php编写一个简单计算器程序,PHP做一个简单的计算器
本文为大家讲解通过分支循环知识及PHP的表单处理一个简单的计算器 首先看下效果 通过网页显示计算器样式 在网页样式中可以看出,有两个输入框Num1.Num2和一个下拉框Type 还有一个提交按钮 在输 ...
- python开发酷q插件gui_【酷Q插件制作】教大家做一个简单的签到插件
.版本 2.支持库 internet .程序集 程序集1 .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码 _临时子程序 ()'在初始化代码执行完毕后调用测试代码 返回 (0 ...
- Matlab中用GUI做计算器,怎样用MATLAB中的GUI做一个简单计算器
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 function varargout = jisuanqi(varargin) gui_Singleton = 1; gui_State = struct ...
- MATLAB中计算器的设立,怎样用MATLAB中的GUI做一个简单计算器
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 function varargout = jisuanqi(varargin) gui_Singleton = 1; gui_State = struct ...
- python做的简单gui计算器_Python计算器–使用Tkinter创建一个简单的GUI计算器
在Python计算器教程中,您将学习创建简单的GUI计算器.在这篇文章中,我将向您展示如何使用python中的tkinter模块开发一个简单的计算器.因此,让我们进一步创建一个简单的python计算器 ...
- java中用swing做一个windows计算器
java中用swing做一个windows计算器 主函数 普通计数器 科学计算器 注意: 前言: 来看这篇教程估计都是java课程设计吧,现在已经没有公司很少使用swing组件了,java主要还是开发 ...
最新文章
- windbg-.process切换进程
- MySQL创建索引(CREATE INDEX)
- SUSE Linux 启动顺序
- Flink 1.12 CDH 6.3 集成
- openCVPracticalExercise学习笔记03
- 虚拟化--051 vsphere linux搭建NTP服务器搭建
- 解决百度BMR的spark集群开启slaves结点的问题
- python静态地图_Matplotlib Toolkits:地图绘制工具
- html做table某一列的合计,Jquery、js计算table列合计
- 学校预付费云平台系统 的设计与应用
- java反编译 luyten_Java——反编译工具 JD-GUI procyon-decompiler luyten crf (转)
- 代码生成工具(1) ---关于代码生成器
- 十二进制转二进制--2018
- CKA认证考题+解析
- css样式表的作用和意义,什么是CSS?
- 第18届中国智能家居主题沙龙在北京成功举办
- 程序员的蜕变之旅-健身
- mysql实验总结_数据库实验的心得体会.docx
- powerCenter介绍
- Swift将改变一切
热门文章
- 借力IBM 贵州移动搭建云计算民生服务平台
- GetManifestResourceStream得到的Stream是null的解决
- 好看的php提示弹窗,漂亮的jquery提示效果(仿腾讯弹出层)
- oracle关联视图查询满_对于复杂的SQL, Oracle是怎么做的?
- 字符串处理——字典树
- 跳蚤(POJ-1091)
- 奇怪的电梯(信息学奥赛一本通-T1360)
- 信息学奥赛一本通C++语言——1124:矩阵加法
- 一起学习C语言:初步进入编程世界(一)
- MFC基于多文档框架(对话框内嵌office控件(word文档))