第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

小菜Android初次做簡易計算器,不知道問題出在哪里?

小菜Android初次做簡易計算器,不知道問題出在哪里?

殺手二爺 2015-12-17 12:44:57
照著課程慢慢做出來的計算器,但是最后還是有問題,del和c按鈕 ?點起來沒有反應(yīng),但是就是找不出問題在哪~~求指點~~代碼如下:?package com.example.calculaterdemo;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class MainActivity extends Activity implements OnClickListener{??Button btn_0,btn_1,btn_2,btn_3,btn_4,btn_5,btn_6,btn_7,btn_8,btn_9,btn_jia,btn_jian,btn_cheng,btn_chu,btn_dian,btn_sum;?EditText et_input;?boolean clear_flag;//清空標(biāo)識??? @Override??? protected void onCreate(Bundle savedInstanceState) {??????? super.onCreate(savedInstanceState);??????? setContentView(R.layout.activity_main);??????? ??????? et_input = (EditText)findViewById(R.id.et_input);??????? btn_0 = (Button) findViewById(R.id.btn_0);??????? btn_1 = (Button) findViewById(R.id.btn_1);??????? btn_2 = (Button) findViewById(R.id.btn_2);??????? btn_3 = (Button) findViewById(R.id.btn_3);??????? btn_4 = (Button) findViewById(R.id.btn_4);??????? btn_5 = (Button) findViewById(R.id.btn_5);??????? btn_6 = (Button) findViewById(R.id.btn_6);??????? btn_7 = (Button) findViewById(R.id.btn_7);??????? btn_8 = (Button) findViewById(R.id.btn_8);??????? btn_9 = (Button) findViewById(R.id.btn_9);??????? btn_jia = (Button) findViewById(R.id.btn_jia);??????? btn_jian = (Button) findViewById(R.id.btn_jian);??????? btn_cheng = (Button) findViewById(R.id.btn_cheng);??????? btn_chu = (Button) findViewById(R.id.btn_chu);??????? btn_dian = (Button) findViewById(R.id.btn_dian);??????? btn_sum = (Button) findViewById(R.id.btn_sum);??????? ??????? ??????? btn_0.setOnClickListener(this);??????? btn_1.setOnClickListener(this);??????? btn_2.setOnClickListener(this);??????? btn_3.setOnClickListener(this);??????? btn_4.setOnClickListener(this);??????? btn_5.setOnClickListener(this);??????? btn_6.setOnClickListener(this);??????? btn_7.setOnClickListener(this);??????? btn_8.setOnClickListener(this);??????? btn_9.setOnClickListener(this);??????? btn_jia.setOnClickListener(this);??????? btn_jian.setOnClickListener(this);??????? btn_cheng.setOnClickListener(this);??????? btn_chu.setOnClickListener(this);??????? btn_dian.setOnClickListener(this);??????? btn_sum.setOnClickListener(this);??? }?@Override?public void onClick(View v) {??// TODO Auto-generated method stub????String str = et_input.getText().toString();//取值??switch (v.getId()) {??case R.id.btn_0:??case R.id.btn_1:??case R.id.btn_2:??case R.id.btn_3:??case R.id.btn_4:??case R.id.btn_5:??case R.id.btn_6:??case R.id.btn_7:??case R.id.btn_8:??case R.id.btn_9:??case R.id.btn_dian:???if(clear_flag){????clear_flag = false;????str ="";????et_input.setText("");???}???et_input.setText(str+((Button)v).getText());//賦值 ???break;??case R.id.btn_jia:??case R.id.btn_jian:??case R.id.btn_cheng:??case R.id.btn_chu:???if(clear_flag){????clear_flag = false;????str ="";????et_input.setText("");???}???et_input.setText(str+" "+((Button)v).getText()+" ");???break;?????case R.id.btn_c:???clear_flag = false;????str ="";???et_input.setText("");???break;?????case R.id.btn_del:???if(clear_flag){????clear_flag = false;????str ="";????et_input.setText("");???}else if(str!=null&&!str.equals("")){????et_input.setText(str.substring(0,str.length()-1));//把顯示框中的內(nèi)容截取,然后返回的內(nèi)容為內(nèi)容長度-1(str.length()-1)???}???break;?????case R.id.btn_sum:???getResult();??????break;??default:???break;??}???}?//返回結(jié)果?public void getResult(){??String exp = et_input.getText().toString();??if(exp==null||exp.equals("")){???return;??}??if(!exp.contains("")){???return;??}??if(clear_flag){???clear_flag = false;???return;??}??clear_flag = true;??double result = 0;??String s1 = exp.substring(0,exp.indexOf(" "));//運算符前面的字符??String op = exp.substring(exp.indexOf(" ")+1, exp.indexOf(" ")+2);//運算符??String s2 = exp.substring(exp.indexOf(" ")+3);//運算符后面的字符??if(!s1.equals("")&&!s2.equals("")){???Double d1 = Double.parseDouble(s1);???Double d2 = Double.parseDouble(s2);???if(op.equals("+")){????result = d1 + d2;???}else if(op.equals("-")){????result = d1 - d2;???}else if(op.equals("×")){????result = d1 * d2;???}else if(op.equals("÷")){????if(d2==0){?????result = 0;????}else{?????result = d1/d2;????}???}???if(!s1.contains(".")&&!s2.contains(".")&&!op.equals("÷")){????int r = (int)result;????et_input.setText(r+"");???}else{????et_input.setText(result+"");???}??}else if(!s1.equals("")&&s2.equals("")){???et_input.setText(exp);??}else if(s1.equals("")&&!s2.equals("")){???Double d2 = Double.parseDouble(s2);???if(op.equals("+")){????result = 0 + d2;???}else if(op.equals("-")){????result = 0 - d2;???}else if(op.equals("×")){????result = 0 * d2;???}else if(op.equals("÷")){?????result = 0;???}???if(!s2.contains(".")){????int r = (int)result;????et_input.setText(r+"");???}else{????et_input.setText(result+"");???}??}else{???et_input.setText("");??}?}}?
查看完整描述

4 回答

?
1697709906

TA貢獻(xiàn)3條經(jīng)驗 獲得超1個贊

del和clear兩個按鈕沒有進(jìn)行實例化。

?btn_del?=?(Button)?findViewById(R.id.btn_del);

?btn_clear?=?(Button)?findViewById(R.id.btn_clear);


查看完整回答
1 反對 回復(fù) 2015-12-17
?
lynhao

TA貢獻(xiàn)81條經(jīng)驗 獲得超57個贊

跟著老師的代碼還是有bug的,這個是我自己修改后的

?Button?btn_0;
????Button?btn_1;
????Button?btn_2;
????Button?btn_3;
????Button?btn_4;
????Button?btn_5;
????Button?btn_6;
????Button?btn_7;
????Button?btn_8;
????Button?btn_9;
????Button?btn_point;
????Button?btn_clear;
????Button?btn_del;
????Button?btn_plus;
????Button?btn_minus;
????Button?btn_multiply;
????Button?btn_divide;
????Button?btn_equal;
????EditText?et_input;
????Boolean?clear_flag=true;?//清空標(biāo)識

????@Override
????protected?void?onCreate(Bundle?savedInstanceState)?{
????????super.onCreate(savedInstanceState);
????????setContentView(R.layout.activity_main);
???????btn_0?=?(Button)?findViewById(R.id.btn_0);
????????btn_1?=?(Button)?findViewById(R.id.btn_1);
????????btn_2?=?(Button)?findViewById(R.id.btn_2);
????????btn_3?=?(Button)?findViewById(R.id.btn_3);
????????btn_4?=?(Button)?findViewById(R.id.btn_4);
????????btn_5?=?(Button)?findViewById(R.id.btn_5);
????????btn_6?=?(Button)?findViewById(R.id.btn_6);
????????btn_7?=?(Button)?findViewById(R.id.btn_7);
????????btn_8?=?(Button)?findViewById(R.id.btn_8);
????????btn_9?=?(Button)?findViewById(R.id.btn_9);
????????btn_point?=?(Button)?findViewById(R.id.btn_point);
????????btn_del?=?(Button)?findViewById(R.id.btn_del);
????????btn_plus?=?(Button)?findViewById(R.id.btn_plus);
????????btn_clear?=?(Button)?findViewById(R.id.btn_clear);
????????btn_minus?=?(Button)?findViewById(R.id.btn_minus);
????????btn_multiply?=?(Button)?findViewById(R.id.btn_multiply);
????????btn_divide?=?(Button)?findViewById(R.id.btn_divide);
????????btn_equal?=?(Button)?findViewById(R.id.btn_equal);
????????et_input?=?(EditText)?findViewById(R.id.et_input);

????????btn_0.setOnClickListener(this);
????????btn_1.setOnClickListener(this);
????????btn_2.setOnClickListener(this);
????????btn_3.setOnClickListener(this);
????????btn_4.setOnClickListener(this);
????????btn_5.setOnClickListener(this);
????????btn_6.setOnClickListener(this);
????????btn_7.setOnClickListener(this);
????????btn_8.setOnClickListener(this);
????????btn_9.setOnClickListener(this);
????????btn_point.setOnClickListener(this);
????????btn_clear.setOnClickListener(this);
????????btn_del.setOnClickListener(this);
????????btn_plus.setOnClickListener(this);
????????btn_minus.setOnClickListener(this);
????????btn_multiply.setOnClickListener(this);
????????btn_divide.setOnClickListener(this);
????????btn_equal.setOnClickListener(this);
????????et_input.setOnClickListener(this);
????}
????@Override
????public?void?onClick(View?view)?{
????????String?str?=?et_input.getText().toString();
????????switch?(view.getId())?{
????????????case?R.id.btn_0:
????????????case?R.id.btn_1:
????????????case?R.id.btn_2:
????????????case?R.id.btn_3:
????????????case?R.id.btn_4:
????????????case?R.id.btn_5:
????????????case?R.id.btn_6:
????????????case?R.id.btn_7:
????????????case?R.id.btn_8:
????????????case?R.id.btn_9:
????????????case?R.id.btn_point:
????????????????if(clear_flag){
????????????????????clear_flag?=?false;
????????????????????str="";
????????????????????et_input.setText("");

????????????????}

???????????????et_input.setText(str+((Button)view).getText());
????????????????break;
????????????case?R.id.btn_plus:
????????????case?R.id.btn_minus:
????????????case?R.id.btn_multiply:
????????????case?R.id.btn_divide:

????????????????et_input.setText(str+"?"+((Button)view).getText()+"?");

????????????????break;
????????????case?R.id.btn_del:
//????????????????if(clear_flag){
//????????????????????clear_flag=false;
//????????????????????str="";
//????????????????????et_input.setText("");
//????????????????}else
????????????????if(str!=null?&&?!str.equals("")){
????????????????????et_input.setText(str.substring(0,str.length()-1));
????????????????}
????????????????break;
????????????case?R.id.btn_clear:
//????????????????clear_flag?=?false;
//????????????????str="";

????????????????et_input.setText("");
????????????????break;
????????????case?R.id.btn_equal:

????????????????getResult();
????????????????break;


????????}
????}
????private??void?getResult(){

????????String?exp?=?et_input.getText().toString();
????????if(exp==null?||?exp.equals("")){
????????????return;
????????}
????????if(!exp.contains("?")){
????????????return;
????????}
//????????if(clear_flag){
//????????????clear_flag?=?false;
//????????????return;
//????????}
????????clear_flag?=?true;
????????double?result?=?0;
????????String?s1?=?exp.substring(0,exp.indexOf("?"));//運算符前面得字符串
????????String?op?=?exp.substring(exp.indexOf("?")+1,exp.indexOf("?")+2);//截取到得運算符
????????String?s2?=?exp.substring(exp.indexOf("?")+3);
????????if(!s1.equals("")?&&?!s2.equals("")){
????????????double?d1?=?Double.parseDouble(s1);
????????????double?d2?=??Double.parseDouble(s2);
????????????if(op.equals("+")){
????????????????result?=?d1+d2;
????????????}else?if(op.equals("-")){
????????????????result?=?d1-d2;

????????????}else?if(op.equals("×")){
????????????????result?=?d1*d2;
????????????}else?if(op.equals("÷")){
????????????????if(d2==0){
????????????????????result?=??0;
????????????????}else?{
????????????????????result?=?d1?/?d2;
????????????????}
????????????}
????????????if(!s1.contains(".")?&&?!s2.contains(".")?&&?!op.equals("÷")){
????????????????int?r?=?(int)result;
????????????????et_input.setText(r+"");
????????????}else{
????????????????et_input.setText(result+"");
????????????}
????????}else?if(!s1.equals("")?&&?s2.equals("")){
????????????et_input.setText(exp);
????????}else?if(s1.equals("")?&&?!s2.equals("")){
????????????double?d2?=??Double.parseDouble(s2);
????????????if(op.equals("+")){
????????????????result?=?0+d2;
????????????}else?if(op.equals("-")){
????????????????result?=?0-d2;

????????????}else?if(op.equals("×")){
????????????????result?=?0;
????????????}else?if(op.equals("÷")){
????????????????if(d2==0){
????????????????????result?=??0;
????????????????}else?{
????????????????????result?=?0;
????????????????}
????????????}
????????????if(!s2.contains(".")){
????????????????int?r?=?(int)result;
????????????????et_input.setText(r+"");
????????????}else{
????????????????et_input.setText(result+"");
????????????}
????????}else{
????????????et_input.setText("");
????????}
????}


查看完整回答
1 反對 回復(fù) 2015-12-17
?
iblur

TA貢獻(xiàn)27條經(jīng)驗 獲得超14個贊

如果我看錯的話,你沒有獲取那兩個按鈕的對象

查看完整回答
1 反對 回復(fù) 2015-12-17
  • 4 回答
  • 1 關(guān)注
  • 2107 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號