Мне интересно, можно ли пропустить мимо цикла while или даже выйти из метода на полпути через него, если выполняются определенные условия? Вот пример того, что я имею в виду (все работает в этом)by pass do while loop
public void loanBook() {
Scanner input = new Scanner(System.in);
boolean successful = false;
boolean bookExists = false;
boolean memberIDExists = false;
boolean memberCurrentlyLoaningBook = false;
int memberID = 0;
System.out.println("You must be a member of the library to loan out a book");
do {
System.out.println("\nPlease enter your memberID (Press 9 to exit)");
int bookID = input.nextInt();
input.nextLine();
if (bookID == 9) {
successful = true;
}
memberID = input.nextInt();
for (int i = 0; i < members.size(); i++) {
if (memberID == members.get(i).getMemberID()) {
memberIDExists=true;
if(members.get(i).isCurrentlyLoaningBook()==false){
successful = true;
memberCurrentlyLoaningBook=true;
}
}
}
if(!memberCurrentlyLoaningBook){
System.out.println("This member is currently loaning a book");
}
if (!memberIDExists) {
System.out.println("This member ID does not exist");
}
} while (successful == false);
EDIT делать в то время как петли, которые находятся в том же методе
сделать {эти другие делают в то время как петли после этого первого и сделать другие вещи } while(); (Я не включил то, что они делают, так как оно слишком занято do {много места) } while();
У меня есть опция для выхода в главное меню, но после этого у меня также есть цикл while, поэтому всякий раз, когда я вхожу 9, он просто выходит из цикла while to while и переходит к следующему, есть во всяком случае, что я могу пропустить все, что происходит, делая петли после нажатия 9 или даже выйти из метода?
Использовать продолжение; пропустить эту итерацию цикла. и перерыв; для выхода из остальной части цикла. –
Почему input.nextLine() вызывается снова после bookID? –
Если вы хотите пропустить do while и продолжить выполнение после выполнения определенного условия, используйте CONTINUE, если вы хотите выйти из метода, используйте RETURN –