Ввод данных в цикле в Java
Чтобы задать пользователю один и тот же
вопрос несколько раз, нужно читать ввод
в цикле while. И пока заданное
условие будет истинно, у пользователя
будут запрашиваться данные.
Давайте зададим справа от while
булево значение true и разместим
в блоке кода запрос на ввод числа:
import java.util.Scanner;
Scanner scan = new Scanner(System.in);
while (true) {
System.out.print("enter number: ");
String tst = scan.nextLine();
System.out.println(tst);
}
Однако созданный цикл будет повторять запрос бесконечно. Поэтому нужно задать дополнительное условие для выхода из него. Давайте укажем, чтобы цикл работал, пока введенное значение является числом. Числом здесь считаем строку из цифр. В противном случае цикл пусть остановится:
import java.util.Scanner;
Scanner scan = new Scanner(System.in);
while (true) {
System.out.print("enter number: ");
String tst = scan.nextLine();
boolean digits = !tst.isEmpty();
for (int i = 0; i < tst.length(); i++) {
char ch = tst.charAt(i);
if (ch < '0' || ch > '9') {
digits = false;
break;
}
}
if (digits) {
System.out.println(tst);
} else {
break;
}
}
Спросите у пользователя его имя. Если
количество символов имени более 6,
пусть появится сообщение о том, что оно
слишком длинное. При этом цикл должен
остановиться.