Android简易计算器的制作(源码)(两种方法)
方法一:
jisuanqi.java(activity):
package com.example.myapplication_one;import android.app.AlertDialog;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.TextUtils;
import android.view.View;
import android.widget.*;public class jisuanqi extends AppCompatActivity {private Spinner spinner;private EditText editNum1;private EditText editNum2;private TextView result;private Button button;private String[] huansaun = {"+","-","×","÷"};String flag;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.jisuanqi);spinner = findViewById(R.id.spinner);editNum1 = findViewById(R.id.edt_test1);editNum2 = findViewById(R.id.edt_test2);button = findViewById(R.id.button1);result = findViewById(R.id.tv);ArrayAdapter<String> huansuan_adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_dropdown_item,huansaun);spinner.setAdapter(huansuan_adapter);spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {@Overridepublic void onItemSelected(AdapterView<?> parent, View view, int position, long id) {flag = spinner.getSelectedItem().toString();//Log.e("Dawangba", String.valueOf(position));}@Overridepublic void onNothingSelected(AdapterView<?> parent) {}});button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if (flag.equals("+")){AddListener addListener = new AddListener();addListener.onClick(v);}if (flag.equals("-")){SubListener subListener = new SubListener();subListener.onClick(v);}if (flag.equals("×")){MulListener mulListener = new MulListener();mulListener.onClick(v);}if (flag.equals("÷")){DivListener divListener = new DivListener();divListener.onClick(v);}}});}private void showDialog(){AlertDialog.Builder dialog = new AlertDialog.Builder(this);dialog.setTitle("错误");dialog.setMessage("输入数字无效!");dialog.setPositiveButton("确定",null);dialog.show();}//加法操作private class AddListener implements View.OnClickListener {public void onClick(View v) {if (TextUtils.isEmpty(editNum1.getText().toString()) || TextUtils.isEmpty(editNum2.getText().toString())){showDialog();} else {float number1 = Float.parseFloat((editNum1.getText().toString()));float number2 = Float.parseFloat((editNum2.getText().toString()));result.setText(number1 + number2 + "");}}}//减法操作private class SubListener implements View.OnClickListener {public void onClick(View v) {if (TextUtils.isEmpty(editNum1.getText().toString()) || TextUtils.isEmpty(editNum2.getText().toString())){showDialog();} else {float number1 = Float.parseFloat((editNum1.getText().toString()));float number2 = Float.parseFloat((editNum2.getText().toString()));result.setText(number1 - number2 + "");}}}//乘法操作private class MulListener implements View.OnClickListener {public void onClick(View v) {if (TextUtils.isEmpty(editNum1.getText().toString()) || TextUtils.isEmpty(editNum2.getText().toString())){showDialog();} else {float number1 = Float.parseFloat((editNum1.getText().toString()));float number2 = Float.parseFloat((editNum2.getText().toString()));result.setText(number1 * number2 + "");}}}//除法操作private class DivListener implements View.OnClickListener {public void onClick(View v) {if (TextUtils.isEmpty(editNum1.getText().toString()) || TextUtils.isEmpty(editNum2.getText().toString())){showDialog();} else {float number1 = Float.parseFloat((editNum1.getText().toString()));float number2 = Float.parseFloat((editNum2.getText().toString()));if (number2 == 0){showDialog();} else {result.setText(number1 / number2 + "");}}}}
}
jisuanqi.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent" ><EditTextandroid:id="@+id/edt_test1"android:layout_width="60dip"android:layout_height="50dip"android:ems="10"android:inputType="number"android:textColor="#88e355"android:textSize="20sp" /><Spinnerandroid:id="@+id/spinner"android:layout_width="100dip"android:layout_height="40dip"/><EditTextandroid:id="@+id/edt_test2"android:layout_width="60dip"android:layout_height="40dip"android:ems="10"android:inputType="number"android:textColor="#88e355"android:textSize="20sp" /><Buttonandroid:id="@+id/button1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="="android:layout_marginLeft="20dp"/><TextViewandroid:id="@+id/tv"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="" /></LinearLayout>
运行结果:
方法二:
jiusuanji2.java(activity):
package com.example.myapplication_one;import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.*;public class jisuanqi2 extends Activity {Spinner spinner;EditText editText1,editText2,editText3;Button button;String []strings=new String[]{"+","-","*","/"};String item="";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.jisuanqi2);init();ArrayAdapter<String> adapter=new ArrayAdapter<String>(jisuanqi2.this, android.R.layout.simple_spinner_item,strings);spinner.setAdapter(adapter);spinner.setPrompt("所选择的符号:");//设置标题文字spinner.setSelection(2);//设置当前选中选项spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {@Overridepublic void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {Toast.makeText(jisuanqi2.this,"您选择的符号为:"+strings[i],Toast.LENGTH_SHORT).show();item=strings[i];}@Overridepublic void onNothingSelected(AdapterView<?> adapterView) {Toast.makeText(jisuanqi2.this,"请选中您的符号!",Toast.LENGTH_LONG).show();}});button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {double a=Double.valueOf(String.valueOf(editText1.getText()));double b=Integer.valueOf(String.valueOf(editText2.getText()));double c=0;switch (item){case "+":c=a+b;break;case "-":c=a-b;break;case "*":c=a*b;break;case "/":c=a/b;break;}editText3.setText(String.valueOf(c));}});}private void init(){spinner =findViewById(R.id.spinner);button =findViewById(R.id.button);editText1=findViewById(R.id.editText1);editText2=findViewById(R.id.editText2);editText3=findViewById(R.id.editText3);}}
jisuanji2.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:id="@+id/textView2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentStart="true"android:layout_alignParentTop="true"android:layout_marginStart="121dp"android:layout_marginTop="76dp"android:text="超简易计算器"android:textSize="20dp"/><Spinnerandroid:id="@+id/spinner"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentStart="true"android:layout_alignParentTop="true"android:layout_marginStart="84dp"android:layout_marginLeft="20dp"android:layout_marginTop="184dp" /><EditTextandroid:id="@+id/editText1"android:layout_width="74dp"android:layout_height="34dp"android:layout_alignParentStart="true"android:layout_alignParentTop="true"android:layout_marginTop="174dp"android:layout_marginEnd="153dp"android:ems="10"android:hint="请输入数字"android:inputType="textPersonName"android:textSize="10dp" /><EditTextandroid:id="@+id/editText2"android:layout_width="61dp"android:layout_height="wrap_content"android:layout_alignParentStart="true"android:layout_alignParentTop="true"android:layout_marginStart="139dp"android:layout_marginTop="173dp"android:ems="10"android:hint="请输入数字"android:inputType="textPersonName"android:textSize="10dp" /><Buttonandroid:id="@+id/button"android:layout_width="40dp"android:layout_height="29dp"android:layout_alignParentStart="true"android:layout_alignParentTop="true"android:layout_marginStart="207dp"android:layout_marginTop="178dp"android:layout_marginEnd="164dp"android:text="="android:textSize="10dp"/><EditTextandroid:id="@+id/editText3"android:layout_width="72dp"android:layout_height="wrap_content"android:layout_alignParentStart="true"android:layout_alignParentTop="true"android:layout_marginStart="258dp"android:layout_marginTop="170dp"android:ems="10"android:inputType="text"android:textSize="10dp" /></RelativeLayout>
结果:
Android简易计算器的制作(源码)(两种方法)相关推荐
- java简单计算器课程设计_java仿windows简易计算器课程设计 源码+报告
[实例简介] java仿windows简易计算器课程设计 源码+报告 课直接运行. [实例截图] [核心代码] Java课设-简易计算器 └── Java课设-简易计算器 ├── Java课程设计.d ...
- 【错误记录】NDK 导入外部 so 动态库报错 ( java.lang.UnsatisfiedLinkError | Android Studio 配置外部 so 动态库两种方法 )
文章目录 一.报错信息 二.解决方案 ( Android Studio 配置外部 so 动态库两种方法 ) 1.jniLibs 目录存放 2.libs 目录存放 一.报错信息 外部引用 so 动态库 ...
- 配置 yum 源的两种方法
配置 yum 源的两种方法 由于 redhat的yum在线更新是收费的,如果没有注册的话不能使用,如果要使用,需将redhat的yum卸载后,重启安装,再配置其他源,以下为详细过程: 1.删除redh ...
- 将uni-app打包的H5放在 Android程序中在 webview 显示的两种方法
将uni-app打包的H5放在 Android程序中在 webview 显示的两种方法 前言 Hash History 完事 前言 之前有个项目要同时做小程序和APP,本着节省时间的想法,研究了下un ...
- Windows Docker 配置国内镜像源的两种方法
Windows Docker配置国内镜像源的两种方法 更新时间 2022.04.14 通过Docker-Desktop界面操作和修改daemon.json两种方法配置国内镜像源 方法一:通过Docke ...
- 如何将unity3d动画嵌入html,在Unity3D中使用精灵动画引擎制作动画的两种方法
7月28日消息,如今的游戏玩家对于游戏角色的动作要求越来越高,给开发者提出了众多的要求,工作量也相应上升.那么如何才能简单快速地制作角色动画以提升效率呢?下面就和大家分享两个在Unity3D中使用精灵 ...
- 在Unity3D中使用精灵动画引擎制作动画的两种方法
本文节选翻译自Gamasutra社区博客,文中观点仅代表作者本人意见,与本公众号无关. 在Unity3D中使用精灵动画引擎的两种方法 本文将介绍两种简单快捷的方法来制作游戏角色动画. 1.动画和动画控 ...
- 系统制作U盘两种方法及优缺点-UltraISO和Win32DiskImager,制作后怎么清空U盘恢复正常使用
1.下面介绍制作U盘启动的两种工具 1.1下面是UltraISO工具和Win32DiskImager工具下载地址 链接:https://pan.baidu.com/s/1Qjtm2uC6zAQYLT_ ...
- android判断应用是否回到桌面的两种方法
有时候需要判断APP是否被切换到后台,然后做相应处理,如显示悬浮窗等.怎么判断呢,有两种方法: 第一种: /*** 判断当前界面是否是桌面*/private boolean isHome() {Str ...
- Django 后台admin管理页面添加简易导出/下载数据功能的两种方法
在Django中有时候需要在后台界面需要用到导出数据的功能,对于功能要求比较高的可以直接使用Import_Export库来完成.但是对于一些简单的数据导出,可以直接自定义一些简单的函数来实现导出数据. ...
最新文章
- 磁盘阵列的创建与管理
- 【数理知识】《随机过程》方兆本老师-第1章-引论
- mongodb分片配置
- 电脑屏幕保护怎么取消_STEP考试安排再更新!今年到底要怎么考试?
- 无法在源表中获得一组稳定的行_行输出变压器的结构、符号及电路分析
- K8S仪表板Service unavailable故障的解决办法
- c语言发展过程,C语言发展史
- RocketMQ的一些基本概念和RocketMQ特性的讲解
- Python 竟也可以写网页前端了
- 专访数据挖掘领头人韩家炜教授:不要迷信权威,做学问要秉承「三个真实」...
- fastboot下载大镜像报错 remote: data too large
- Ajax怎么解决乱码PHP,php Ajax乱码
- 帆软报表扩展列计算同比环比
- Android应用的persistent属性
- DeepinXP Lite 完美精简版 |5.2|5.3|5.4|5.5|5.6|5.7|5.8|5.9|5.10||6.1New| 迅雷下载
- matlab dwt函数应用,MATLAB中关于DCT,DFT和DWT的相关函数
- 周末之个人杂想(十五)
- 更改echarts中盒须图横坐标
- 聚水潭完成3亿元B3轮融资,红杉资本中国基金独家投资
- MapReduce —— MapTask阶段源码分析(Output环节)