Вот фрагмент кода, над которым я работаю для более крупного проекта:
import java.util.Scanner;
public static void getZip() {
boolean shallNPass=true;
int zip=0;
System.out.print("Enter zipcode: ");
while(shallNPass) {
if(in.hasNextInt()) {
zip = in.nextInt();
if(zip>999 && zip<100000)
zip = in.nextInt();
else {
System.out.println("Incorrect length for a zip. Try again");
System.out.print("Enter zipcode: ");
continue;
}
shallNPass = false;
}
else {
System.out.println("Invalid Entry. Please use an integer.");
System.out.print("Enter zipcode: ");
continue;
}
shallNPass = false;
} shallNPass = true; //RESETTING SHALLNPASS
System.out.println(zip);
//In actuality I continue to do another similar while loop similar after this
//but I don't want to make this longer, so used a print
}
Он основан на решении, которое я нашел здесь относительно проверки, что пользователь вводит значение определенного типа.Я просто сделал еще один шаг и попытался проверить, что введенное значение находится между 1000 и 99999.
У меня проблема в том, что после ввода целого числа правильной длины я должен ввести его сновачтобы заставить программу перейти к следующей строке кода.У меня нет этой проблемы при проверке типа, только когда я добавляю длину.
Как я могу это исправить?Я пробовал всевозможные трюки с циклами продолжения, разрыва и вложенных циклов, просто я этого не вижу.