我正在研究这个程序,它使用了几行代码,这些代码最后一次使用它们,但这次唯一的区别是我需要使用else if而不是基本的if else语句。仍然试图学习如何真正使用这个,但任何帮助将不胜感激。我的错误源于if语句,我觉得它与float结果有关;线。
private float caravan = 35;
private float wigwag = 25;
private float tent = 15;
private float caravan(float value){
return value * caravan;
}
private float wigwag(float value){
return value * wigwag;
}
private float tent(float value){
return value * tent;
}
Button bookButton;
public void onClick(View view) {
EditText bookAmount = (EditText)findViewById(R.id.txtNights);
EditText bookFinal = (EditText)findViewById(R.id.txtBooked);
float bookResult = Float.parseFloat(bookAmount.getText().toString());
float result;
RadioButton cbSelected = (RadioButton)findViewById(R.id.radCaravan);
if(cbSelected.isChecked()){
result = caravan(bookResult);
} else if (result == wigwag(bookResult)){
} else if (result == tent(bookResult)){
}
bookFinal.setText(String.valueOf(result));
}
答案 0 :(得分:2)
您的问题是您在语句结尾处加了分号,并且您没有使用==运算符:
if(cbSelected.isChecked()){
result = caravan(bookResult);
} else if (result = wigwag(bookResult);{
} else if (result = tent(bookResult);{
}
通过删除分号并使用相等运算符进行修复:
if(cbSelected.isChecked()){
result = caravan(bookResult);
} else if (result == wigwag(bookResult){
} else if (result == tent(bookResult){
}
答案 1 :(得分:1)
使用==
代替=
运算符
if (result == wigwag(bookResult))