0

いくつかの数字で簡単な数学演算を実行しようとしています。完了したら、int 型の数値を String に変更します。最初の 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 {
                            int n5x  = ((n5) + (n4+ n3*10) +  (n2+n1*10));
                            n5s = Integer.toString(n5x);
                            outFile.println(n5s);}
于 2012-06-26T13:16:27.363 に答える
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 に答える