你可以用e1 =“1”,e2 =“2”,e3 =“”
这样的条件检查这个代码为什么会跳转到其他地方if (e1=="" || e2=="" || e3==""){
Context context = getApplicationContext();
CharSequence text = "Fill in all required fields!";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, text, duration);
toast.setGravity(Gravity.CENTER|Gravity.CENTER, 0, 0);
toast.show();
}
else {
m=Integer.parseInt(e1);
std=Integer.parseInt(e2);
nhv=Integer.parseInt(e3);
rsl=((std*std)*((t1+t2)*(t1+t2)))/((m-nhv)*(m-nhv));
if (Math.round(rsl) < rsl) {
rsl = Math.round(rsl) +1;
}
else {
rsl=Math.round(rsl);
}
et4.setText(""+rsl);
}
答案 0 :(得分:1)
对于String
比较,您需要使用.equals()
,例如e1.equals("")
,或argubly better "".equals(e1)
。
第二种形式是更好的,因为它永远不会抛出NullPointerException
。
请注意,只有基元int
等应与==
进行比较,其他所有内容都应与Object#equals(Object)
进行比较。
答案 1 :(得分:0)
由于您正在检查String
是空或空,use the method是否为此设计:
if (myString != null && !myString.isEmpty())
{
// doSomething
}
其他任何东西都容易出错或只是不清楚。
注意:这在Android 2.3中可用。
Google还通过TextUtils
if (TextUtils.isEmpty(value))
{
// do something
}
内部TextUtils.isEmpty()检查String的长度是否为0(并进行空检查)。
答案 2 :(得分:0)
只需使用:
if (e1.isEmpty() || e2.isEmpty() || e3.isEmpty())