import java.util.Scanner;
public class DoWhile {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int value;
do {
System.out.println("Введи пять");
value = scanner.nextInt();
System.out.println("Это не пять");
} while(value!=5);
System.out.println("Другое дело");
}
}
Andrey S
4 уровень
Не могу понять, почему после того, как вводим нужное число (т.е. 5), всё равно вылезает строка "Это не пять"?
Решен
Комментарии (6)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Dmitry Aleksandrovich
21 ноября 2020, 11:10полезный
Потому что цикл do-while делает как минимум 1 итерацию в блоке do независимо от условия в while.
Сделай просто через while
+2
Andrey S
21 ноября 2020, 11:21
//Спасибо, получилось. Просто, если делать только через while, то будет код дублироваться, а я не хоте этого делать
import java.util.Scanner;
public class DoWhile {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Введи пять");
int x = scanner.nextInt();
while (x != 5) {
System.out.println("Нихера это не пять");
System.out.println("Введи ПЯТЬ");
x = scanner.nextInt();
}
System.out.println("Вот молодец");
}
}
0
hidden #2322530
21 ноября 2020, 11:09решение
а где ты проверяешь что оно 5 или не 5.
ты эту строку выводишь в любом случае.
+2
Andrey S
21 ноября 2020, 11:10
так вот я и не знаю, как в случае с правильным ответом убрать строку
System.out.println("Это не пять");
0
hidden #2322530
21 ноября 2020, 11:11решение
+2
Andrey S
21 ноября 2020, 11:43
//Спасибо, то что нужно
import java.util.Scanner;
public class Usedd {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int x;
do {
System.out.println("Введи пять");
x = scanner.nextInt();
if (x != 5) {
System.out.println("Это не пять");
}
}
while (x != 5); {
System.out.println("Другое дело");
}
}
}
0