2012-06-26 2 views
0

Я пытаюсь выполнить простую математическую операцию с несколькими числами. После завершения я хочу, чтобы числа типа int были изменены на String. Я могу получить код для компиляции для первых 4 else 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); 
+8

Используйте правильный стиль вдавливания/крепления, и вы избежите многих ошибок. –

+0

... и если не для избежания ошибок; отформатируйте код для нас, который попытается ответить на ваш вопрос. – Mizipzor

+1

Вот почему конечная скобка получает свою собственную линию –

ответ

7

В вашем другом положении отсутствуют брекеты.

Переменная n5x определяется только внутри предложения else. Без фигурных скобок предложение else состоит только из декларации.

Он должен выглядеть следующим образом:

else { 
    int n5x = ((n5) + (n4+ n3*10) + (n2+n1*10)); 
    n5s = Integer.toString(n5x); 
    outFile.println(n5s); 
} 
2

Вы пропускаете {} на последнем еще заявлении

0

остальное должно быть в фигурных скобках. оно должно быть следующим -

     else { 
          int n5x = ((n5) + (n4+ n3*10) + (n2+n1*10)); 
          n5s = Integer.toString(n5x); 
          outFile.println(n5s);} 
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); 

На общей ноте, вы должны иметь {} в любом контрольном выражении, имеющем более одного оператора.