android 加减乘除计算器,【03-21求助】写一个简易计算器的安卓app,一按加减乘除就退出...
該樓層疑似違規已被系統折疊?隱藏此樓查看此樓
package com.example.ag;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity
{
private Button bt_1;
private Button bt_2;
private Button bt_3;
private Button bt_4;
private Button bt_5;
private Button bt_6;
private Button bt_7;
private Button bt_8;
private Button bt_9;
private Button bt_0;
private Button bt_add;
private Button bt_sub; // 減
private Button bt_multiply; // 乘
private Button bt_divide; // 除
private Button bt_back;
private Button bt_equal; // 等于
private Button bt_point; // 點
private Button bt_clear; // 清除
private Button bt_exit;
private EditText et_play; // 顯示
private int op= 0; // 運算符
private StringBuffer str_display = new StringBuffer();// 顯示
private int i = 0;
private double num1=0;
private boolean flag = true; // 小數點個數開關控制;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt_0 = (Button) findViewById(R.id.bt0);
bt_1 = (Button) findViewById(R.id.bt1);
bt_2 = (Button) findViewById(R.id.bt2);
bt_3 = (Button) findViewById(R.id.bt3);
bt_4 = (Button) findViewById(R.id.bt4);
bt_5 = (Button) findViewById(R.id.bt5);
bt_6 = (Button) findViewById(R.id.bt6);
bt_7 = (Button) findViewById(R.id.bt7);
bt_8 = (Button) findViewById(R.id.bt8);
bt_9 = (Button) findViewById(R.id.bt9);
bt_add = (Button) findViewById(R.id.btjia);
bt_sub = (Button) findViewById(R.id.btjian);
bt_multiply = (Button) findViewById(R.id.btcheng);
bt_divide = (Button) findViewById(R.id.btchu);
bt_back = (Button) findViewById(R.id.btdel);
bt_equal = (Button) findViewById(R.id.btdeng);
bt_point = (Button) findViewById(R.id.btdian);
bt_clear = (Button) findViewById(R.id.btce);
bt_exit = (Button) findViewById(R.id.btexit);
et_play = (EditText) findViewById(R.id.et);
et_play.setText("0");
}
public void btexitClick(View view){
System.exit(0);
}
public void bt0Click(View v)
{
str_display.append("0");
et_play.setText(str_display.toString());
}
public void bt1Click(View v)
{
str_display.append("1");
et_play.setText(str_display.toString());
}
public void bt2Click(View v)
{
str_display.append("2");
et_play.setText(str_display.toString());
}
public void bt3Click(View v)
{
str_display.append("3");
et_play.setText(str_display.toString());
}
public void bt4Click(View v)
{
str_display.append("4");
et_play.setText(str_display.toString());
}
public void bt5Click(View v)
{
str_display.append("5");
et_play.setText(str_display.toString());
}
public void bt6Click(View v)
{
str_display.append("6");
et_play.setText(str_display.toString());
}
public void bt7Click(View v)
{
str_display.append("7");
et_play.setText(str_display.toString());
}
public void bt8Click(View v)
{
str_display.append("8");
et_play.setText(str_display.toString());
}
public void bt9Click(View v)
{
str_display.append("9");
et_play.setText(str_display.toString());
}
public void btdianClick(View v)
{
if (flag)
{
str_display.append(".");
flag = false;
}
}
public void btdelClick(View v)
{
if (str_display.length() != 0)
{
str_display.deleteCharAt(str_display.length() - 1);
et_play.setText(str_display.toString());
}
}
public void btjiaClick(View v)
{
if (i==0){
num1 = Double.parseDouble(str_display.toString());
str_display = new StringBuffer("");
op=1;
i++;
}
if (i!=0){
switch (op){
case 1:num1=num1 + Double.parseDouble(str_display.toString());
str_display = new StringBuffer("");
op = 1;
break;
case 2:num1=num1 - Double.parseDouble(str_display.toString());
str_display = new StringBuffer("");
op = 1;
break;
case 3:num1=num1 * Double.parseDouble(str_display.toString());
str_display = new StringBuffer("");
op = 1;
break;
case 4:if(Double.parseDouble(str_display.toString())==0){
Toast.makeText(MainActivity.this,
"除數不能為0!", Toast.LENGTH_LONG).show();
str_display = new StringBuffer("");
op = 0;
num1=0;
flag = true;
}
else{
num1=num1 / Double.parseDouble(str_display.toString());
str_display = new StringBuffer("");
op = 1;
}
break;
}
}
et_play.setText(String.valueOf(num1));
flag = true;
}
public void btjianClick(View v)
{
if (i==0){
num1 = Double.parseDouble(str_display.toString());
str_display = new StringBuffer("");
op=2;
i++;
}
if (i!=0){
switch (op){
case 1:num1=num1 + Double.parseDouble(str_display.toString());
str_display = new StringBuffer("");
op = 2;
break;
case 2:num1=num1 - Double.parseDouble(str_display.toString());
str_display = new StringBuffer("");
op = 2;
break;
case 3:num1=num1 * Double.parseDouble(str_display.toString());
str_display = new StringBuffer("");
op = 2;
break;
case 4:if(Double.parseDouble(str_display.toString())==0){
Toast.makeText(MainActivity.this,
"除數不能為0!", Toast.LENGTH_LONG).show();
str_display = new StringBuffer("");
op = 0;
num1=0;
flag = true;
}
else{
num1=num1 / Double.parseDouble(str_display.toString());
str_display = new StringBuffer("");
op = 2;
}
break;
}
}
et_play.setText(String.valueOf(num1));
flag = true;
}
public void btchengClick(View v)
{
if (i==0){
num1 = Double.parseDouble(str_display.toString());
str_display = new StringBuffer("");
op=3;
i++;
}
if (i!=0){
switch (op){
case 1:num1=num1 + Double.parseDouble(str_display.toString());
str_display = new StringBuffer("");
op = 3;
break;
case 2:num1=num1 - Double.parseDouble(str_display.toString());
str_display = new StringBuffer("");
op = 3;
break;
case 3:num1=num1 * Double.parseDouble(str_display.toString());
str_display = new StringBuffer("");
op = 3;
break;
case 4:if(Double.parseDouble(str_display.toString())==0){
Toast.makeText(MainActivity.this,
"除數不能為0!", Toast.LENGTH_LONG).show();
str_display = new StringBuffer("");
op = 0;
num1=0;
flag = true;
}
else{
num1=num1 / Double.parseDouble(str_display.toString());
str_display = new StringBuffer("");
op = 3;
}
break;
}
}
et_play.setText(String.valueOf(num1));
flag = true;
}
public void btchuClick(View v)
{
if (i == 0){
num1 = Double.parseDouble(str_display.toString());
str_display = new StringBuffer("");
op=4;
i++;
}
if (i!=0){
switch (op){
case 1:num1=num1 + Double.parseDouble(str_display.toString());
str_display = new StringBuffer("");
op = 4;
break;
case 2:num1=num1 - Double.parseDouble(str_display.toString());
str_display = new StringBuffer("");
op = 4;
break;
case 3:num1=num1 * Double.parseDouble(str_display.toString());
str_display = new StringBuffer("");
op = 4;
break;
case 4:if(Double.parseDouble(str_display.toString())==0){
Toast.makeText(MainActivity.this,
"除數不能為0!", Toast.LENGTH_LONG).show();
str_display = new StringBuffer("");
op = 0;
num1=0;
flag = true;
}
else{
num1=num1 / Double.parseDouble(str_display.toString());
str_display = new StringBuffer("");
op = 4;
}
break;
}
}
et_play.setText(String.valueOf(num1));
flag = true;
}
public void btceClick(View v)
{
str_display = new StringBuffer("");
op=0;
num1 = 0;
i = 0;
flag = true;
}
public void btdengClick(View v)
{
if(op==0)
{
return;
}
if (i==0){
num1 = Double.parseDouble(str_display.toString());
str_display = new StringBuffer("");
op=0;
et_play.setText(String.valueOf(num1));
}
if (i!=0){
switch (op){
case 1:num1=num1 + Double.parseDouble(str_display.toString());
et_play.setText(String.valueOf(num1));
num1 = 0;
i= 0 ;
str_display = new StringBuffer("");
op = 0;
flag = true;
break;
case 2:num1=num1 - Double.parseDouble(str_display.toString());
et_play.setText(String.valueOf(num1));
num1 = 0;
i= 0 ;
str_display = new StringBuffer("");
op = 0;
flag = true;
break;
case 3:num1=num1 * Double.parseDouble(str_display.toString());
et_play.setText(String.valueOf(num1));
num1 = 0;
i= 0 ;
str_display = new StringBuffer("");
op = 0;
flag = true;
break;
case 4:if(Double.parseDouble(str_display.toString())==0){
Toast.makeText(MainActivity.this,
"除數不能為0!", Toast.LENGTH_LONG).show();
}
else{
num1=num1 / Double.parseDouble(str_display.toString());
}
et_play.setText(String.valueOf(num1));
num1 = 0;
i= 0 ;
str_display = new StringBuffer("");
op = 0;
flag = true;
break;
}
}
}
}
總結
以上是生活随笔為你收集整理的android 加减乘除计算器,【03-21求助】写一个简易计算器的安卓app,一按加减乘除就退出...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android绘制河流双曲线,项目三:河
- 下一篇: 孩子上网课效果不好怎么办孩子上网课效果差