Итак, эта программа работает, она работает, но я хочу, чтобы она была идиоткой! И для этого мне нужна помощь .. Я не хочу, чтобы она переходила к следующей строке, если пользователь вошел в число или вообще ничего!Перезапустить цикл while, если параметры не выполнены
Если я нажимаю кнопку ввода, ничего не пишу, она все равно переходит к следующей строке, а переменная navn
выходит в конце полностью пустой. Он делает то же самое, если я пишу номер. Как заставить его вернуться назад и повторить попытку в цикле еще раз, если ответ не отвечает запросам. Большое спасибо :)
import java.util.Scanner;
class Metoder {
public static void main(String[] args) {
String bosted; //Variable
String navn; //Variable
Scanner in = new Scanner(System.in);
System.out.println("Skriv inn navn: "); //What shows up when you first start the program
while (!in.hasNext("[A-Za-z]+")) { //Only allow letters A-Z
in.next();
System.out.println("Tall horer ikke hjemme i navn, prøv igjen!"); //Prints, "numbers dont belong in names, try again" if what the user entered is a number
}
System.out.println("Takk!"); //Says thank you if the user has entered letters
navn = in.nextLine(); //Proceeds to next line
System.out.println("Skriv inn bosted: "); //Next line, where the user is supposed to enter where he/she lives
while (!in.hasNext("[A-Za-z]+")) { //Excactly the same loop as above
in.next();
System.out.println("Tall hører ikke hjemme i stedsnavn, prøv igjen!");
}
System.out.println("Takk!");
bosted = in.nextLine();
System.out.println("Hei, " + navn + "! Du er fra " + bosted + "."); //Prints out what the user has entered previously in a full sentence.
}
}
Когда вы используете несколько раз тот же кусок кода, рассмотреть вопрос о создании его в специальном методе. – Berger
Да, спасибо! –
поместить все внутри цикла while, чтобы выйти из цикла while, только если переменная содержит любое значение –