0

我正在尝试用几个数字进行简单的数学运算。完成后,我希望将 int 类型的数字更改为字符串。我能够为前 4 个 else if 语句编译代码,但是当我创建 n5x 时,第 5 个给我一个问题。我是否不允许在 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);
4

4 回答 4

7

您的 else 子句缺少大括号。

变量 n5x 仅在 else 子句中定义。没有大括号,else 子句只包含声明。

它应该如下所示:

 else {
    int n5x  = ((n5) + (n4+ n3*10) +  (n2+n1*10));
    n5s = Integer.toString(n5x);
    outFile.println(n5s);
 }
于 2012-06-26T13:14:38.330 回答
2

您在最后一个 else 语句中缺少 { }

于 2012-06-26T13:15:27.217 回答
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);

一般来说,您应该{}在任何控制语句中包含一个以上的语句。

于 2012-06-26T13:29:18.313 回答
0

else 应该在大括号中。它应该如下 -

                       else {
                            int n5x  = ((n5) + (n4+ n3*10) +  (n2+n1*10));
                            n5s = Integer.toString(n5x);
                            outFile.println(n5s);}
于 2012-06-26T13:16:27.363 回答