java - 我如何循环回到 Java * 初学者* 中的主菜单

标签 java loops netbeans

我试图使用 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/

相关文章:

java - 删除二维ArrayList中的重复条目

java - 使用 Java 驱动程序更新 MongoDB 中子字段的值?

java - 如何从本地计算机连接 CPanel MySql DB

java - 将 Java applet 项目导入 netbeans 将无法正常工作,即使手动设置,Netbeans 也拒绝识别甚至找不到主类

java - 我的 Tic Tac Toe AI 有什么问题?

java - Java 中的 struct.unpack_from

MySQL - 在 SQL 过程中使用 foreach 排序

PHP循环遍历JSON多维数组并在单击按钮时加载数据

jQuery ajax 循环内问题

java - 如何在 netbeans 中使用 hibernate 将图像保存到 mysql 数据库以及如何检索和显示图像