2014-01-03 7 views
-2

Привет, немного пересматриваю экзамен и натолкнулся на этот прошлый вопрос.Простая синтаксическая ошибка в моем цикле while

Напишите цикл while, чтобы напечатать нечетные числа от 0 до 10. Я искал и пытаюсь Google, но это такая простая вещь и ее сбивает с толку. Я знаю его простую синтаксическую ошибку где-то.

Я пробовал перемещать x ++, пытался переместить заявление о печати, просто не получая его. может кто-нибудь светить на этом, пожалуйста. Обычно я бы использовал цикл for, поскольку это было бы проще, но вопрос задает цикл while.

public class OddNumbersWhile { 
    public static void main (String[]args){ 
     int x = 0; 
     while (x <10){ 
      if (x % 2 !=0) { 
       x++; 
     System.out.println(x); 
}} }} 

ответ

0

попробовать это

public class OddNumbersWhile { 
    public static void main (String[]args){ 
     int x = 0; 
     while (x < 10){ 
      if (x % 2 != 0) { 
       System.out.println(x); 
      } 
      x++; 
     } 
    } 
} 
1

Вы должны положить скобки закрытия на отдельных строках.

И вот в чем проблема: вы увеличиваете x в вашем if-statement, что приводит к бесконечному циклу, когда оператор if не запускается, поскольку ваше условие не может быть достигнуто.

Возможно, это ближе к тому, что вам нужно.

public class OddNumbersWhile { 
    public static void main (String[]args){ 
     int x = 0; 
     while (x <10){ 
      if (x % 2 !=0) { 
       System.out.println(x); 
      } 
      x++; 
     } 
    } 
} 
+0

Спасибо, я знал, что это было что-то простое, я был на правильных линиях, спасибо за советы с брекетами. Я не могу поверить, что кто-то проголосовал за меня. Ну и шутка. Большое спасибо – Jayseppi

0

вы определили х = 0, когда начинается цикл в то время как, вы говорите:

if (x % 2 !=0) 

но х% 2 = 0, потому что х 0, так что х ++ никогда не будет работать.

P.S.

Хорошо, N0ir предоставил вам код. Я пытался довести вас до решения, используя логику.

0

Вы должны переместить x++ за пределы оператора if.

public class OddNumbersWhile { 
public static void main (String[]args){ 
    int x = 0; 
    while (x <10){ 
     if (x % 2 !=0) { 
      System.out.println(x); 
     } 
     x++; 
    } 
    } 
} 
Смежные вопросы