我正在编程计算器,我目前差不多完成了;编程等于按钮。我希望能够测试是否单击了equals按钮并在此之前单击了另一个按钮,执行一些代码这就是我所拥有的:
package rechee.cool;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class HelloAndroidActivity extends Activity
{
/** Called when the activity is first created. */
double counter1=0;
double counter2=0;
String theOperator;
//Just have two buttons so far, I'm going to have like 10 more
public EditText display;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Associate the button variable with the xml reference
display = (EditText) findViewById(R.id.editText1);}
//When button is clicked, display the text. How do I do this for the rest of my variables?
public void onClick(View v)
{
switch(v.getId())
{
case R.id.bOne:
display.append("1");
break;
case R.id.bTwo:
display.append("2");
break;
case R.id.bThree:
display.append("3");
break;
case R.id.bFour:
display.append("4");
break;
case R.id.bFive:
display.append("5");
break;
case R.id.bSix:
display.append("6");
break;
case R.id.bSeven:
display.append("7");
break;
case R.id.bEight:
display.append("8");
break;
case R.id.bNine:
display.append("9");
break;
case R.id.bZero:
display.append("0");
break;
case R.id.bPoint:
display.append(".");
break;
case R.id.bClear:
display.setText("");
break;
case R.id.bAdd:
// to get string of EditText
String display1= display.getText().toString();
double displayValue= Double.parseDouble(display1);
//to test if display1 is double
counter1+= displayValue;
String theOperator = "+";
break;
case R.id.bEqual:
if (R.id.bAdd=true){
}
}
}
}
}
答案 0 :(得分:0)
使用堆栈数据结构存储按下的每个按钮。 当您检测到有效序列(即操作数运算符操作数相等,1 + 1 =)时,执行它并从堆栈中删除值。