Java else语句
嗨,我有3个变量u v w,它要么等于零,要么根据语句执行简单的除法,我想把这3个值应用到下面的另一个if语句中,进行比较,但我假设它不能从上面的语句中读取任何u v w。我怎样才能做到这一点?谢谢
if(t3 != 0){
double u = t/t3;
}
else if(t4 != 0){
double v = t1/t4;
}
else if(t5 != 0){
double w = t2/t5;
}
else if(t3 == 0){
double u = 0;
}
else if(t4 == 0){
double v = 0;
}
else if(t5 == 0){
double w = 0;
}
if((u == v) && (v == w))
{
blah blah
}
else
blah blah
# 1 楼答案
您需要在
if { }
块之外声明变量。条件声明并不是确认变量将一直被声明如果您将用0初始化
u
、v
和w
,那么代码中的最后三个条件将被消除# 2 楼答案
在
if
条件之外定义这些变量。在本例中,变量的作用域位于if
条件的花括号内# 3 楼答案
您确定应该使用
else if
吗原始程序无法运行的原因是java没有代数引擎。编译器不知道
if(tmp == 0)
和if(tmp != 0)
是相反的条件。此外,还可以使用else if
。结果是编译器认为有第三个选项u
(和其他变量)永远不会初始化。此外,大多数java编译器将强制您在if范围之外定义变量,以便在外部使用它们