php计算器等号没反应,点击等号计算器就会崩溃 找不出Bug疯了

package com.example.demojsq;

import android.os.Bundle;

import android.app.Activity;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

public class MainActivity extends Activity implements OnClickListener{

private Button but_c ; //删除按钮

private Button but_del ; //清除按钮

private Button but_cheng ; //乘号按钮

private Button but_chu ; //除号按钮

private Button but_7 ; //数字7按钮

private Button but_8 ; //数字8按钮

private Button but_9 ; //数字9按钮

private Button but_jia ; //加号按钮

private Button but_4 ; //数字4按钮

private Button but_5 ; //数字5按钮

private Button but_6 ; //数字6按钮

private Button but_jian ; //减号按钮

private Button but_1 ; //数字1按钮

private Button but_2 ; //数字2按钮

private Button but_3 ; //数字3按钮

private Button but_dian ;  //小数点按钮

private Button but_0 ; //数字0按钮

private Button but_equse ; //等号按钮

private EditText et_import ; //显示输入文本的显示器

boolean falge ;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

but_c = (Button) findViewById(R.id.but_c) ;

but_del = (Button) findViewById(R.id.but_del) ;

but_cheng = (Button) findViewById(R.id.but_cheng) ;

but_chu = (Button) findViewById(R.id.but_chu) ;

but_7 = (Button) findViewById(R.id.but_7) ;

but_8 = (Button) findViewById(R.id.but_8) ;

but_9 = (Button) findViewById(R.id.but_9) ;

but_jia = (Button) findViewById(R.id.but_jia) ;

but_4 = (Button) findViewById(R.id.but_4) ;

but_5 = (Button) findViewById(R.id.but_5) ;

but_6 = (Button) findViewById(R.id.but_6) ;

but_jian = (Button) findViewById(R.id.but_jian) ;

but_1 = (Button) findViewById(R.id.but_1) ;

but_2 = (Button) findViewById(R.id.but_2) ;

but_3 = (Button) findViewById(R.id.but_3) ;

but_dian = (Button) findViewById(R.id.but_dian) ;

but_0 = (Button) findViewById(R.id.but_0) ;

but_equse = (Button) findViewById(R.id.but_equse) ;

//实例化按钮

et_import = (EditText) findViewById(R.id.editText1) ;

//实例化文本输入框

but_c.setOnClickListener(this) ;

but_del.setOnClickListener(this) ;

but_cheng.setOnClickListener(this) ;

but_chu.setOnClickListener(this) ;

but_7.setOnClickListener(this) ;

but_8.setOnClickListener(this) ;

but_9.setOnClickListener(this) ;

but_jia.setOnClickListener(this) ;

but_4.setOnClickListener(this) ;

but_5.setOnClickListener(this) ;

but_6.setOnClickListener(this) ;

but_jian.setOnClickListener(this) ;

but_1.setOnClickListener(this) ;

but_2.setOnClickListener(this) ;

but_3.setOnClickListener(this) ;

but_dian.setOnClickListener(this) ;

but_0.setOnClickListener(this) ;

but_equse.setOnClickListener(this) ;

//设置点击事件

}

@Override

public void onClick(View arg0) {

String str = et_import.getText().toString() ;

switch (arg0.getId()) {

case R.id.but_0:

case R.id.but_1:

case R.id.but_2:

case R.id.but_3:

case R.id.but_4:

case R.id.but_5:

case R.id.but_6:

case R.id.but_7:

case R.id.but_8:

case R.id.but_9:

case R.id.but_dian:

if(falge){

falge = false ;

et_import.setText("") ;

}

et_import.setText(str+((Button)arg0).getText()) ;

break;

case R.id.but_jia:

case R.id.but_jian:

case R.id.but_cheng:

case R.id.but_chu :

if(falge){

falge = false ;

et_import.setText("") ;

}

et_import.setText(str+((Button)arg0).getText()) ;

break;

case R.id.but_c :

if(str!=null&&!str.equals("")){

et_import.setText(str.substring(0,str.length()-1)) ;

}

case R.id.but_del:

if(falge){

falge = false ;

et_import.setText("") ;

}

et_import.setText("") ;

break ;

case R.id.but_equse :

getSum() ;

break ;

}

}

public void getSum(){

String str = et_import.getText().toString() ;

if(str==null||str.equals("")){

return ;

}

if(!str.contains("")){

return ;

}

if(falge){

falge = false ;

return ;

}

falge = true ;

double ruse = 0 ;

String s1 = str.substring(0, str.indexOf(" ")) ;

String op = str.substring(str.indexOf(" ")+1, str.indexOf(" ")+2) ;

String s2 = str.substring(str.indexOf(" ")+3) ;

if(!s1.equals("")&&!s2.equals("")){

double d1 = Double.parseDouble(s1) ;

double d2 = Double.parseDouble(s2) ;

if(op.equals("+")){

ruse = d1+d2 ;

}else if(op.equals("-")){

ruse = d1-d2 ;

}else if(op.equals("*")){

ruse = d1*d2 ;

}else if(op.equals("/")){

if(d2==0){

ruse = 0;

}else{

ruse=d1/d2 ;

}

}

if(!s1.contains(".")&&!s2.contains(".")){

int ru = (int) ruse ;

et_import.setText(ru+" ") ;

}else{

et_import.setText(ruse+"") ;

}

}else if(!s1.equals("")&&s2.equals("")){

et_import.setText(str) ;

}else if(s1.equals("")&&!s2.equals("")){

double d2 = Double.parseDouble(s2) ;

if(op.equals("+")){

ruse = 0+d2 ;

}else if(op.equals("-")){

ruse = 0-d2 ;

}else if(op.equals("*")){

ruse = 0*d2 ;

}else if(op.equals("/")){

ruse = 0;

}

}else{

et_import.setText("") ;

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值