我正在尝试使用几个数字进行简单的数学运算。完成后,我希望将int类型的数字更改为String。我能够获得编译前4个if语句的代码,但是第5个是在创建n5x时给我一个问题。我不允许在else语句中创建值吗?如果有的话有办法解决这个问题吗?谢谢。
if (n1==1){
int n1x = ((n1*10 +n2) + (n3*10+n4)+(n5));
n1s = Integer.toString(n1x);
outFile.println(n1s);}
else if (n2==2){
int n2x = (n2 + (n1*10 + n3)+(n4*10+ n5));
n2s = Integer.toString(n2x);
outFile.println(n2s);}
else if (n3==3){
int n3x = ((n3*10 +n2) + n1+ (n4*10+n5));
n3s = Integer.toString(n3x);
outFile.println(n3s);}
else if (n4 == 4){
int n4x = (n4 + (n3 +n2*10)+(n5+n1*10));
n4s = Integer.toString(n4x);
outFile.println(n4s);}
else
int n5x = ((n5) + (n4+ n3*10) + (n2+n1*10));
n5s = Integer.toString(n5x);
outFile.println(n5s);
答案 0 :(得分:7)
你的其他条款没有括号。
变量n5x仅在else子句中定义。没有大括号,else子句只包含声明。
它应该是这样的:
else {
int n5x = ((n5) + (n4+ n3*10) + (n2+n1*10));
n5s = Integer.toString(n5x);
outFile.println(n5s);
}
答案 1 :(得分:2)
你在最后一个其他陈述中缺少{}
答案 2 :(得分:0)
否则应该在括号中。它应该如下 -
else {
int n5x = ((n5) + (n4+ n3*10) + (n2+n1*10));
n5s = Integer.toString(n5x);
outFile.println(n5s);}
答案 3 :(得分:0)
您的上一个else
条款:
else
int n5x = ((n5) + (n4+ n3*10) + (n2+n1*10));
n5s = Integer.toString(n5x);
outFile.println(n5s);
实际上是由Java编译器以这种方式解释的:
else {
int n5x = ((n5) + (n4+ n3*10) + (n2+n1*10));
}
n5s = Integer.toString(n5x);
outFile.println(n5s);
总的来说,你应该在任何控制语句中有{}
,它有多个语句。