方法一:

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简易计算器的制作(源码)(两种方法)相关推荐

  1. java简单计算器课程设计_java仿windows简易计算器课程设计 源码+报告

    [实例简介] java仿windows简易计算器课程设计 源码+报告 课直接运行. [实例截图] [核心代码] Java课设-简易计算器 └── Java课设-简易计算器 ├── Java课程设计.d ...

  2. 【错误记录】NDK 导入外部 so 动态库报错 ( java.lang.UnsatisfiedLinkError | Android Studio 配置外部 so 动态库两种方法 )

    文章目录 一.报错信息 二.解决方案 ( Android Studio 配置外部 so 动态库两种方法 ) 1.jniLibs 目录存放 2.libs 目录存放 一.报错信息 外部引用 so 动态库 ...

  3. 配置 yum 源的两种方法

    配置 yum 源的两种方法 由于 redhat的yum在线更新是收费的,如果没有注册的话不能使用,如果要使用,需将redhat的yum卸载后,重启安装,再配置其他源,以下为详细过程: 1.删除redh ...

  4. 将uni-app打包的H5放在 Android程序中在 webview 显示的两种方法

    将uni-app打包的H5放在 Android程序中在 webview 显示的两种方法 前言 Hash History 完事 前言 之前有个项目要同时做小程序和APP,本着节省时间的想法,研究了下un ...

  5. Windows Docker 配置国内镜像源的两种方法

    Windows Docker配置国内镜像源的两种方法 更新时间 2022.04.14 通过Docker-Desktop界面操作和修改daemon.json两种方法配置国内镜像源 方法一:通过Docke ...

  6. 如何将unity3d动画嵌入html,在Unity3D中使用精灵动画引擎制作动画的两种方法

    7月28日消息,如今的游戏玩家对于游戏角色的动作要求越来越高,给开发者提出了众多的要求,工作量也相应上升.那么如何才能简单快速地制作角色动画以提升效率呢?下面就和大家分享两个在Unity3D中使用精灵 ...

  7. 在Unity3D中使用精灵动画引擎制作动画的两种方法

    本文节选翻译自Gamasutra社区博客,文中观点仅代表作者本人意见,与本公众号无关. 在Unity3D中使用精灵动画引擎的两种方法 本文将介绍两种简单快捷的方法来制作游戏角色动画. 1.动画和动画控 ...

  8. 系统制作U盘两种方法及优缺点-UltraISO和Win32DiskImager,制作后怎么清空U盘恢复正常使用

    1.下面介绍制作U盘启动的两种工具 1.1下面是UltraISO工具和Win32DiskImager工具下载地址 链接:https://pan.baidu.com/s/1Qjtm2uC6zAQYLT_ ...

  9. android判断应用是否回到桌面的两种方法

    有时候需要判断APP是否被切换到后台,然后做相应处理,如显示悬浮窗等.怎么判断呢,有两种方法: 第一种: /*** 判断当前界面是否是桌面*/private boolean isHome() {Str ...

  10. Django 后台admin管理页面添加简易导出/下载数据功能的两种方法

    在Django中有时候需要在后台界面需要用到导出数据的功能,对于功能要求比较高的可以直接使用Import_Export库来完成.但是对于一些简单的数据导出,可以直接自定义一些简单的函数来实现导出数据. ...

最新文章

  1. 磁盘阵列的创建与管理
  2. 【数理知识】《随机过程》方兆本老师-第1章-引论
  3. mongodb分片配置
  4. 电脑屏幕保护怎么取消_STEP考试安排再更新!今年到底要怎么考试?
  5. 无法在源表中获得一组稳定的行_行输出变压器的结构、符号及电路分析
  6. K8S仪表板Service unavailable故障的解决办法
  7. c语言发展过程,C语言发展史
  8. RocketMQ的一些基本概念和RocketMQ特性的讲解
  9. Python 竟也可以写网页前端了
  10. 专访数据挖掘领头人韩家炜教授:不要迷信权威,做学问要秉承「三个真实」...
  11. fastboot下载大镜像报错 remote: data too large
  12. Ajax怎么解决乱码PHP,php Ajax乱码
  13. 帆软报表扩展列计算同比环比
  14. Android应用的persistent属性
  15. DeepinXP Lite 完美精简版 |5.2|5.3|5.4|5.5|5.6|5.7|5.8|5.9|5.10||6.1New| 迅雷下载
  16. matlab dwt函数应用,MATLAB中关于DCT,DFT和DWT的相关函数
  17. 周末之个人杂想(十五)
  18. 更改echarts中盒须图横坐标
  19. 聚水潭完成3亿元B3轮融资,红杉资本中国基金独家投资
  20. MapReduce —— MapTask阶段源码分析(Output环节)

热门文章

  1. 《东周列国志》第二十三回 卫懿公好鹤亡国 齐桓公兴兵伐楚
  2. hao123.com 360浏览器等主页被劫持的解决方法
  3. 计算机网络 谢希仁(第8版)第五章习题答案
  4. DOS远程桌面连接命令
  5. 软件开发几个阶段的内容以及产物
  6. 松翰单片机之M2ASM创建新工程
  7. 公司内网限制qq微信登陆--解决办法
  8. vulhub nginx insecure-configuration
  9. 如何提高英文的科研写作能力——施一公
  10. 计算机司法鉴定的程序,计算机司法鉴定的流程说明