Программа должна вычислять непрерывно до тех пор, пока пользователь не введет символ
А программа сначала запрашивает символ и затем по символу не останавливается. Не могу понять что не так
System.out.println("Для остановки нажмите клавишу 'S'");
for (int i = 0; (char) System.in.read() != 'S'; i++) {
System.out.println("Проход № " + i);
}
Ответы (1 шт):
Автор решения: Ангелина Никонова
→ Ссылка
Рабочий пример:
System.out.println("Для остановки нажмите клавишу 'S'");
Scanner scanner = new Scanner(System.in);
// Проверяем, является ли входной массив символом, массивом с символом 'S'
for (int i = 0; !Arrays.equals(scanner.next().toCharArray(), new char[]{'S'});) {
System.out.println("Проход № " + ++i);
}
Более адекватный пример:
System.out.println("Для остановки нажмите клавишу 'S'");
Scanner scanner = new Scanner(System.in);
int counter = 0;
String input;
// Проверяем, есть ли строка, если есть и ее длина 1, а так же начинается с 'S', то false
while (scanner.hasNext() && !((input = scanner.nextLine()).length() == 1 && input.startsWith("S"))) {
System.out.println("Проход № " + ++counter);
}