当前位置: 首页 > news >正文

用android如何实现计算机计算功能

一.新建一个项目

步骤:

1.新建项目

2.选择 

 

二.用户界面构建 

找到项目的res的下面layout里面的activity.xml文件进行约束布局界面构建。

activity.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"tools:context=".MainActivity"><GridLayoutandroid:id="@+id/gridLayout"android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"tools:ignore="MissingConstraints"><EditTextandroid:id="@+id/ed_input"android:layout_width="match_parent"android:layout_height="100dp"android:hint="输入框" /><EditTextandroid:id="@+id/ed_output"android:layout_width="match_parent"android:layout_height="100dp"android:hint="输出口" /></GridLayout><GridLayoutandroid:layout_width="424dp"android:layout_height="329dp"android:columnCount="4"android:rowCount="4"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintTop_toBottomOf="@+id/gridLayout"tools:ignore="MissingConstraints"><Buttonandroid:id="@+id/buttonc"android:layout_width="180dp"android:layout_height="60dp"android:layout_columnSpan="2"android:backgroundTint="#a6a6a6"android:text="c" /><Buttonandroid:id="@+id/buttondel"android:layout_width="90dp"android:layout_height="60dp"android:layout_columnSpan="1"android:backgroundTint="#a6a6a6"android:text="DEL" /><Buttonandroid:id="@+id/buttonchu"android:layout_width="90dp"android:layout_height="60dp"android:backgroundTint="#ff9500"android:text="/" /><Buttonandroid:id="@+id/button7"android:layout_width="90dp"android:layout_height="60dp"android:backgroundTint="#333333"android:text="7" /><Buttonandroid:id="@+id/button8"android:layout_width="90dp"android:layout_height="60dp"android:backgroundTint="#333333"android:text="8" /><Buttonandroid:id="@+id/button9"android:layout_width="90dp"android:layout_height="60dp"android:backgroundTint="#333333"android:text="9" /><Buttonandroid:id="@+id/buttoncheng"android:layout_width="90dp"android:layout_height="60dp"android:backgroundTint="#ff9500"android:text="*" /><Buttonandroid:id="@+id/button4"android:layout_width="90dp"android:layout_height="60dp"android:backgroundTint="#333333"android:text="4" /><Buttonandroid:id="@+id/button5"android:layout_width="90dp"android:layout_height="60dp"android:backgroundTint="#333333"android:text="5" /><Buttonandroid:id="@+id/button6"android:layout_width="90dp"android:layout_height="60dp"android:backgroundTint="#333333"android:text="6" /><Buttonandroid:id="@+id/buttonjian"android:layout_width="90dp"android:layout_height="60dp"android:backgroundTint="#ff9500"android:text="-" /><Buttonandroid:id="@+id/button1"android:layout_width="90dp"android:layout_height="60dp"android:backgroundTint="#333333"android:text="1" /><Buttonandroid:id="@+id/button2"android:layout_width="90dp"android:layout_height="60dp"android:backgroundTint="#333333"android:text="2" /><Buttonandroid:id="@+id/button3"android:layout_width="90dp"android:layout_height="60dp"android:backgroundTint="#333333"android:text="3" /><Buttonandroid:id="@+id/buttonjia"android:layout_width="90dp"android:layout_height="60dp"android:backgroundTint="#ff9500"android:text="+" /><Buttonandroid:id="@+id/buttonyuliu"android:layout_width="90dp"android:layout_height="60dp"android:backgroundTint="#333333"android:text="预留" /><Buttonandroid:id="@+id/button0"android:layout_width="90dp"android:layout_height="60dp"android:backgroundTint="#333333"android:text="0" /><Buttonandroid:id="@+id/buttondian"android:layout_width="90dp"android:layout_height="60dp"android:backgroundTint="#333333"android:text="." /><Buttonandroid:id="@+id/buttondeng"android:layout_width="90dp"android:layout_height="60dp"android:backgroundTint="#ff9500"android:text="=" /></GridLayout></androidx.constraintlayout.widget.ConstraintLayout>

三.设置实现计算功能的关键 

找到Java里面的MainActiviy.java写入实现代码。

MainActiviy.java代码如下:

package com.example.myapplication2;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;public class MainActivity extends AppCompatActivity implements View.OnClickListener{private Button mbutton1,mbutton2,mbutton3,mbutton4,mbutton5,mbutton6,mbutton7,mbutton8,mbutton9,mbutton0,mbuttonc,mbuttondel,mbuttonyuliu,mbuttonjia,mbuttonjian,mbuttoncheng,mbuttonchu,mbuttondian,mbuttondeng;private EditText edinput,edoutput;private boolean deng_flag=false;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//数字0-9mbutton1=findViewById(R.id.button1);mbutton2=findViewById(R.id.button2);mbutton3=findViewById(R.id.button3);mbutton4=findViewById(R.id.button4);mbutton5=findViewById(R.id.button5);mbutton6=findViewById(R.id.button6);mbutton7=findViewById(R.id.button7);mbutton8=findViewById(R.id.button8);mbutton9=findViewById(R.id.button9);mbutton0=findViewById(R.id.button0);//c、del、预留mbuttonc=findViewById(R.id.buttonc);mbuttondel=findViewById(R.id.buttondel);mbuttonyuliu=findViewById(R.id.buttonyuliu);//加减乘除、点、等号mbuttonjia=findViewById(R.id.buttonjia);mbuttonjian=findViewById(R.id.buttonjian);mbuttoncheng=findViewById(R.id.buttoncheng);mbuttonchu=findViewById(R.id.buttonchu);mbuttondeng=findViewById(R.id.buttondeng);mbuttondian=findViewById(R.id.buttondian);//输入输出edinput=findViewById(R.id.ed_input);edoutput=findViewById(R.id.ed_output);//设置按钮监听//0-9mbutton0.setOnClickListener(this);mbutton1.setOnClickListener(this);mbutton2.setOnClickListener(this);mbutton3.setOnClickListener(this);mbutton4.setOnClickListener(this);mbutton5.setOnClickListener(this);mbutton6.setOnClickListener(this);mbutton7.setOnClickListener(this);mbutton8.setOnClickListener(this);mbutton9.setOnClickListener(this);//c、del、预留mbuttonc.setOnClickListener(this);mbuttondel.setOnClickListener(this);mbuttonyuliu.setOnClickListener(this);//加减乘除、点、等号mbuttonjia.setOnClickListener(this);mbuttonjian.setOnClickListener(this);mbuttoncheng.setOnClickListener(this);mbuttonchu.setOnClickListener(this);mbuttondeng.setOnClickListener(this);mbuttondian.setOnClickListener(this);}@Overridepublic void onClick(View view){String input = edinput.getText().toString();String output = edoutput.getText().toString();switch (view.getId()){//0-9case R.id.button0:case R.id.button1:case R.id.button2:case R.id.button3:case R.id.button4:case R.id.button5:case R.id.button6:case R.id.button7:case R.id.button8:case R.id.button9:case R.id.buttondian:if(deng_flag){deng_flag=false;edinput.setText(null);edinput.setText(((Button) view).getText());}else {edinput.setText(input+((Button) view).getText());}edinput.setText(input+((Button) view).getText());break;//ccase R.id.buttonc:edinput.setText(null);edoutput.setText(null);break;//delcase R.id.buttondel:if (deng_flag){deng_flag=false;edinput.setText("");}else if(input !=null&&!input.equals("")){edinput.setText(input.substring(0,input.length()-1));}break;//预留case R.id.buttonyuliu:break;//加减乘除case R.id.buttonjia:case R.id.buttonjian:case R.id.buttoncheng:case R.id.buttonchu:edinput.setText(input+" "+((Button) view).getText()+" ");break;//等号case R.id.buttondeng:
//                edinput.setText(input+((Button) view).getText());
//                break;getResult();}}private void getResult() {try{String input = edinput.getText().toString();int iResult=0;double dResult=0;String cw="错误";String s1,s2,op;//数字,数字,操作符 s1"4" op"*" s2"5"s1=input.substring(0,input.indexOf(" "));op=input.substring(input.indexOf(" ")+1,input.indexOf(" ")+2);s2=input.substring(input.indexOf(" ")+3);double d1,d2;d1=Double.parseDouble(s1);d2=Double.parseDouble(s2);if(op.equals("+")){//加dResult=d1+d2;
//                edoutput.setText(dResult+"");}else if(op.equals("-")){//减dResult=d1-d2;} else if (op.equals("*")){//乘dResult=d1*d2;} else if (op.equals("/")) {//除if(d2==0){edoutput.setText(cw+"");} else if (d1==0) {dResult=0;} else {dResult=d1/d2;}}if(!input.equals(".")&&!input.equals("/")){iResult=(int)dResult;edoutput.setText(iResult+"");}edoutput.setText(dResult+"");}catch (Exception e){System.out.println(e);}}
}

运行结果如下:

输入计算值,得出结果

 

相关文章:

  • 【机器学习】 第1章 概述
  • 从视频创意到传播策略 | 医药产品TVC新媒体传播方案
  • 运动想象 (MI) 分类学习系列 (14) :基于时空光谱特征的分类方法
  • WebRTC AudioProcessing 移植调试
  • 设计模式-迭代器模式
  • 使用SQLite
  • 从面试角度了解前端基础知识体系
  • JavaFX HTMLEditor
  • 双色球预测算法(Java),——森林机器学习、时间序列
  • 华润的超市卡有什么用?
  • 发力采销,京东的“用户关系学”
  • 【SQL server速成之路】函数
  • 2406c++,iguana动态反射
  • 【SCAU数据挖掘】数据挖掘期末总复习题库判断题及解析
  • C++之结构体初始化使用总结
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • 2017-09-12 前端日报
  • GitUp, 你不可错过的秀外慧中的git工具
  • happypack两次报错的问题
  • Java IO学习笔记一
  • Java 多线程编程之:notify 和 wait 用法
  • js正则,这点儿就够用了
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • mysql 数据库四种事务隔离级别
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • vuex 笔记整理
  • Zsh 开发指南(第十四篇 文件读写)
  • 阿里云购买磁盘后挂载
  • 爱情 北京女病人
  • 构建二叉树进行数值数组的去重及优化
  • 面试总结JavaScript篇
  • 前端相关框架总和
  • 问题之ssh中Host key verification failed的解决
  • 我是如何设计 Upload 上传组件的
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • (2)从源码角度聊聊Jetpack Navigator的工作流程
  • (20050108)又读《平凡的世界》
  • (2024.6.23)最新版MAVEN的安装和配置教程(超详细)
  • (4)Elastix图像配准:3D图像
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (二)构建dubbo分布式平台-平台功能导图
  • (一) storm的集群安装与配置
  • (转)ORM
  • .NET CF命令行调试器MDbg入门(二) 设备模拟器
  • .NET Core 成都线下面基会拉开序幕
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?
  • .net 调用海康SDK以及常见的坑解释
  • .NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件
  • .skip() 和 .only() 的使用
  • .xml 下拉列表_RecyclerView嵌套recyclerview实现二级下拉列表,包含自定义IOS对话框...
  • /bin、/sbin、/usr/bin、/usr/sbin
  • ??在JSP中,java和JavaScript如何交互?
  • @Import注解详解