网站首页 编程语言 正文
本文实例为大家分享了android studio实现简单计算器的具体代码,供大家参考,具体内容如下
布局:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="@color/white" tools:context="com.example.jisuanqi.MainActivity"> <TextView android:id="@+id/screenshow" android:layout_width="match_parent" android:layout_height="200dp" android:background="@android:color/white" android:textColor="@color/black" android:textSize="50sp"/> //各按键 <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center"> <Button android:layout_width="160dp" android:layout_height="80dp" android:text="÷" android:textSize="45sp" android:id="@+id/divide" /> <Button android:layout_width="80dp" android:layout_height="80dp" android:text="×" android:textSize="45sp" android:id="@+id/times" /> <Button android:layout_width="80dp" android:layout_height="80dp" android:text="C" android:textSize="40sp" android:id="@+id/button_C" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center"> <Button android:layout_width="80dp" android:layout_height="80dp" android:text="7" android:textSize="40sp" android:id="@+id/button_7" /> <Button android:layout_width="80dp" android:layout_height="80dp" android:text="8" android:textSize="40sp" android:id="@+id/button_8" /> <Button android:layout_width="80dp" android:layout_height="80dp" android:text="9" android:textSize="40sp" android:id="@+id/button_9" /> <Button android:layout_width="80dp" android:layout_height="80dp" android:text="+" android:textSize="40sp" android:id="@+id/button_add" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center"> <Button android:layout_width="80dp" android:layout_height="80dp" android:text="4" android:textSize="40sp" android:id="@+id/button_4" /> <Button android:layout_width="80dp" android:layout_height="80dp" android:text="5" android:textSize="40sp" android:id="@+id/button_5" /> <Button android:layout_width="80dp" android:layout_height="80dp" android:text="6" android:textSize="40sp" android:id="@+id/button_6" /> <Button android:layout_width="80dp" android:layout_height="80dp" android:text="-" android:textSize="50sp" android:id="@+id/button_minus" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center"> <Button android:layout_width="80dp" android:layout_height="80dp" android:text="1" android:textSize="40sp" android:id="@+id/button_1" /> <Button android:layout_width="80dp" android:layout_height="80dp" android:text="2" android:textSize="40sp" android:id="@+id/button_2" /> <Button android:layout_width="80dp" android:layout_height="80dp" android:text="3" android:textSize="40sp" android:id="@+id/button_3" /> <Button android:layout_width="80dp" android:layout_height="80dp" android:text="." android:textSize="45sp" android:id="@+id/button_dot" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center"> <Button android:layout_width="160dp" android:layout_height="80dp" android:text="0" android:textSize="40sp" android:id="@+id/button_0" /> <Button android:layout_width="160dp" android:layout_height="80dp" android:text="=" android:textSize="45sp" android:id="@+id/button_equal" /> </LinearLayout> </LinearLayout> </LinearLayout>
java代码:
package com.example.jisuanqi;
import android.support.v4.app.INotificationSideChannel;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.app.Activity;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
private TextView windowshow;
private Button but_0,but_1,but_2,but_3,but_4,but_5,but_6,but_7,but_8,but_9,but_C,divide,
multiply,but_add,but_minus,but_dot,but_equal;
double first_num=0,second_num=0;
double result=0;
int operation=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
windowshow=(TextView)findViewById(R.id.screenshow);
but_0=(Button)findViewById(R.id.button_0);
but_0.setOnClickListener(new MyOnClickListener());
but_1=(Button)findViewById(R.id.button_1);
but_1.setOnClickListener(new MyOnClickListener());
but_2=(Button)findViewById(R.id.button_2);
but_2.setOnClickListener(new MyOnClickListener());
but_3=(Button)findViewById(R.id.button_3);
but_3.setOnClickListener(new MyOnClickListener());
but_4=(Button)findViewById(R.id.button_4);
but_4.setOnClickListener(new MyOnClickListener());
but_5=(Button)findViewById(R.id.button_5);
but_5.setOnClickListener(new MyOnClickListener());
but_6=(Button)findViewById(R.id.button_6);
but_6.setOnClickListener(new MyOnClickListener());
but_7=(Button)findViewById(R.id.button_7);
but_7.setOnClickListener(new MyOnClickListener());
but_8=(Button)findViewById(R.id.button_8);
but_8.setOnClickListener(new MyOnClickListener());
but_9=(Button)findViewById(R.id.button_9);
but_9.setOnClickListener(new MyOnClickListener());
but_add=(Button)findViewById(R.id.button_add);
but_add.setOnClickListener(new MyOnClickListener());
but_C=(Button)findViewById(R.id.button_C);
but_C.setOnClickListener(new MyOnClickListener());
divide=(Button)findViewById(R.id.divide);
divide.setOnClickListener(new MyOnClickListener());
but_dot=(Button)findViewById(R.id.button_dot);
but_dot.setOnClickListener(new MyOnClickListener());
but_equal=(Button)findViewById(R.id.button_equal);
but_equal.setOnClickListener(new MyOnClickListener());
but_minus=(Button)findViewById(R.id.button_minus);
but_minus.setOnClickListener(new MyOnClickListener());
multiply=(Button)findViewById(R.id.times);
multiply.setOnClickListener(new MyOnClickListener());
}
class MyOnClickListener implements View.OnClickListener{
public void onClick(View v){
switch (v.getId()){
case R.id.button_C:
windowshow.setText(null);
break;
case R.id.button_0:
String str0=windowshow.getText().toString();
str0+="0";
windowshow.setText(str0);
break;
case R.id.button_1:
String str1=windowshow.getText().toString();
str1+="1";
windowshow.setText(str1);
break;
case R.id.button_2:
String str2=windowshow.getText().toString();
str2+="2";
windowshow.setText(str2);
break;
case R.id.button_3:
String str3=windowshow.getText().toString();
str3+="3";
windowshow.setText(str3);
break;
case R.id.button_4:
String str4=windowshow.getText().toString();
str4+="4";
windowshow.setText(str4);
break;
case R.id.button_5:
String str5=windowshow.getText().toString();
str5+="5";
windowshow.setText(str5);
break;
case R.id.button_6:
String str6=windowshow.getText().toString();
str6+="6";
windowshow.setText(str6);
break;
case R.id.button_7:
String str7=windowshow.getText().toString();
str7+="7";
windowshow.setText(str7);
break;
case R.id.button_8:
String str8=windowshow.getText().toString();
str8+="8";
windowshow.setText(str8);
break;
case R.id.button_9:
String str9=windowshow.getText().toString();
str9+="9";
windowshow.setText(str9);
break;
case R.id.button_dot:
String strdot=windowshow.getText().toString();
strdot+=".";
windowshow.setText(strdot);
break;
case R.id.button_add:
String stradd=windowshow.getText().toString();
if(stradd.equals(null)){
return;
}
first_num=Double.valueOf(stradd);
stradd+="+";
windowshow.setText(null);
operation=1;
break;
case R.id.button_minus:
String strminus=windowshow.getText().toString();
if(strminus.equals(null)){
return;
}
first_num=Double.valueOf(strminus);
strminus+="-";
windowshow.setText(null);
operation=2;
break;
case R.id.times:
String strmultiply=windowshow.getText().toString();
if(strmultiply.equals(null)){
return;
}
first_num=Double.valueOf(strmultiply);
strmultiply+="*";
windowshow.setText(null);
operation=3;
break;
case R.id.divide:
String strdivide=windowshow.getText().toString();
if(strdivide.equals(null)){
return;
}
first_num=Double.valueOf(strdivide);
strdivide+="/";
windowshow.setText(null);
operation=4;
break;
case R.id.button_equal:
String strequ=windowshow.getText().toString();
second_num=Double.valueOf(strequ);
// windowshow.setText(null);
switch (operation){
case 1:
result=first_num+second_num;
windowshow.setText(String.valueOf(first_num)+"+"+String.valueOf(second_num)+"="+String.valueOf(result));
break;
case 2:
result=first_num-second_num;
windowshow.setText(String.valueOf(first_num)+"-"+String.valueOf(second_num)+"="+String.valueOf(result));
break;
case 3:
result=first_num*second_num;
windowshow.setText(String.valueOf(first_num)+"×"+String.valueOf(second_num)+"="+String.valueOf(result));
break;
case 4:
if(second_num==0){
windowshow.setText("被除数不能为0!");
}
else {
result = first_num / second_num;
windowshow.setText(String.valueOf(first_num) + "÷" + String.valueOf(second_num) + "=" + String.valueOf(result));
}
break;
case 5:
result=first_num/100;
windowshow.setText(String.valueOf(first_num) + "%" +"="+String.valueOf(result));
break;
default:
result=0;
break;
}
}
}
}
}
效果图:
原文链接:https://blog.csdn.net/a22235/article/details/117751884
相关推荐
- 2022-08-27 golang 随机数的两种方式_Golang
- 2022-10-24 通过5个例子让你学会Pandas中的字符串过滤_python
- 2022-06-10 阿里云日志服务日志过滤器配置_服务器其它
- 2024-07-22 Linux 中运行的top命令 怎么退出?
- 2023-09-18 springboot异常处理的一点总结
- 2022-06-30 python神经网络MobileNet模型的复现详解_python
- 2022-02-21 css 改变input光标颜色
- 2024-02-28 UNI-APP,设置某个页面横屏后,恢复竖屏,返回再次进入其他页面时,页面内容放大错乱
- 最近更新
-
- window11 系统安装 yarn
- 超详细win安装深度学习环境2025年最新版(
- Linux 中运行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存储小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基础操作-- 运算符,流程控制 Flo
- 1. Int 和Integer 的区别,Jav
- spring @retryable不生效的一种
- Spring Security之认证信息的处理
- Spring Security之认证过滤器
- Spring Security概述快速入门
- Spring Security之配置体系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置权
- redisson分布式锁中waittime的设
- maven:解决release错误:Artif
- restTemplate使用总结
- Spring Security之安全异常处理
- MybatisPlus优雅实现加密?
- Spring ioc容器与Bean的生命周期。
- 【探索SpringCloud】服务发现-Nac
- Spring Security之基于HttpR
- Redis 底层数据结构-简单动态字符串(SD
- arthas操作spring被代理目标对象命令
- Spring中的单例模式应用详解
- 聊聊消息队列,发送消息的4种方式
- bootspring第三方资源配置管理
- GIT同步修改后的远程分支