我试图使用 while 循环循环回到主菜单,但我不能 似乎让它发挥作用。我怎样才能正确实现这个?
我已经尝试了 do-while 循环一段时间,但它不起作用。我正在做 出了点问题,我不知道是什么问题
boolean main_menu = true;
while (main_menu) {
System.out.println(" Welcome to Zoos Victoria ");
System.out.println(" M A I N M E N U ");
System.out.println(" Zoo has the following ticketing options:");
System.out.println(" 1 = Child (4-5 yrs) ");
System.out.println(" 2 = Adult (18+ yrs) ");
System.out.println(" 3 = Senior (60+ yrs) " + "\n" );
do {
// select ticket option
System.out.println(" Please enter your option:" );
ticket_option = input.nextInt();
switch (ticket_option) {
// Child_ticket
case 1:
ticket_price = child_ticket;
ticket_name = " Child tickets";
break;
// adult ticket
case 2:
ticket_price = adult_ticket;
ticket_name = " Adult tickets";
break;
//senior ticket
case 3:
ticket_price = senior_ticket;
ticket_name = " Senior tickets";
break;
default:
System.out.println("Invalid entry!");
}
} while( ticket_option > 3); //end of do while loop
System.out.println(" Enter the number of tickets you would like:");
ticket_amount = input.nextInt();
total_price = ticket_amount * ticket_price;
System.out.println(" you are purchasing " + ticket_amount +
ticket_name + " at " + "$"+ticket_price + " each!");
System.out.println(" Press 1 to confirm purchase");
confirm_purchase = input.nextInt();
if (confirm_purchase == 1)
System.out.println("Total amount payable: "+ "$"+total_price);
else {
System.out.println("invalid key!");
main_menu = false;
}
if (confirm_purchase == 1 ) {
System.out.println("Total amount payable: "+ "$"+total_price);
main_menu = false;
} else {
System.out.println("invalid key!");
}
System.out.println("Would you like to go back to the main menu?(Y/N) ");
to_continue = input.next().toUpperCase();
if (to_continue.equals("Y")){
// back to main menu here
System.out.println("Back to the main menu");
} else {
System.out.println("Total amount payable: "+ "$"+total_price);
System.out.println("Have a great time!");
}
}// end while loop
} }
在if语句中用户要按1,如果不按1,程序将返回主菜单。目前此功能无法正常工作。
最佳答案
在您确认购买的情况下,如果用户输入无效 key ,您会将 main_menu 设置为 false。你应该删除它。
if (confirm_purchase == 1) {
System.out.println("Total amount payable: "+ "$"+total_price);
} else {
System.out.println("invalid key!");
// main_menu = false;
}
关于java - 我如何循环回到 Java * 初学者* 中的主菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56197645/