Оператор увеличения или уменьшения поста как условие while

Вот программа

public static void main(String[] args){
    int x = 0;
    int y = 9; 
    while(y--){
        x++;
    } 
    System.out.println("x="+ x +"y=" +y);
}

Почему я получаю ошибку компиляции ?. заранее спасибо

@shmosel - Вообще-то нет. Проблема в том, что while требует boolean, а y-- - нет.

Stephen C 26.10.2018 06:26

abdulsafuwan - в следующий раз обязательно включите ошибку компиляции Сообщения, о которой вы спрашиваете.

Stephen C 26.10.2018 06:41

@StephenC, вы должны опубликовать это в качестве ответа. мне кажется законным.

Joeri Hendrickx 26.10.2018 07:43

Я считаю, что этот вопрос слишком низкого качества для правильного ответа. Например, он (все еще) не содержит ошибок компиляции, а заголовок неточный. И другие вещи. ОП получил решение своей проблемы ... так что он должен быть доволен. Смысл написания качественных ответов заключается в том, что они будут / должны помогать другим людям, кроме ОП. Но если вопрос таков, что другие люди вряд ли найдут его при поиске, усилия будут в значительной степени потрачены зря.

Stephen C 26.10.2018 08:31
1
4
51
2

Ответы 2

Вы должны получить сообщение об ошибке: int не может быть преобразован в логическое значение while (y -) { Если вы попытаетесь сравнить y - внутри, пока вроде: while (y--! = 0), тогда все будет в порядке или добавьте любое другое условие, которое вы хотите.

В этой программе неверен аргумент цикла while. Поскольку int нельзя преобразовать в логическое значение. Из-за этого вы должны изменить аргумент, например, while (y -! = 0) или что-то в этом роде. Если вы хотите распечатать весь список, вы должны изменить положение оператора печати следующим образом:

public static void main(String[] args){
    int x = 0;
    int y = 9;
    while(y--!=0){
        x++;
        System.out.println("x="+x +"and y=" +y);
    }
}

Другие вопросы по теме