如果选择是,则用户返回主菜单

时间:2018-06-25 11:49:28

标签: java netbeans

大家好,我在执行此操作时遇到了问题,我在Google上进行了搜索,但没有太大意义。 我需要这样做 该程序询问用户是否要继续。 如果选择是,它将返回到主菜单。 如果选择否,则应付总金额将为 显示,然后程序将终止

  int option, quantity, confirm;
  float childTotal;
  float adultTotal;
  float seniorTotal;

  final double childCost = 18;
  final double adultCost = 36;
  final double seniorCost = 32.50;

  char resume;

  Scanner input = new Scanner(System.in);

    System.out.println("1 = Child (4-6 yrs)");
    System.out.println("2 = Adult (16+ yrs)");
    System.out.println("3 = Senior (60+ yrs)" + "\n");

    System.out.println("Enter your option:" );
    option=input.nextInt();

    switch (option) {
        case 1:
            System.out.println("Enter total No of tickets for Child:" );
            quantity=input.nextInt();

            System.out.println("You are purchasing " + quantity + " child tickets");

            System.out.println("Press 1 to confirm");
            confirm=input.nextInt();

            break;

        case 2:
            System.out.println("Enter total No of tickets for Adult:" );
            quantity=input.nextInt();

            System.out.println("You are purchasing " + quantity + " adult tickets");

            System.out.println("Press 1 to confirm");
            confirm=input.nextInt();

            break;

        default:
            System.out.println("Enter total No of tickets for Senior:" );
            quantity=input.nextInt();

            System.out.println("You are purchasing " + quantity + " senior tickets");

            System.out.println("Press 1 to confirm");
            confirm=input.nextInt();

            break;
    }

    if (confirm !=1) {
        System.out.println("Incorrect key! User to go back to main menu");
    }


  System.out.println("Do you wish to continue? (Y/N) ");
  resume = input.next().charAt(0);

  if (resume == 'y' || resume == 'Y') {

} else {
      switch (option) {
            case 1:
                childTotal=(int) ((double) quantity*childCost) ;
                System.out.println("Total amount for child tickets: $" + childTotal);
                break;
            case 2:
                adultTotal=(int) ((double) quantity*adultCost) ;
                System.out.println("Total amount for adult tickets $" + adultTotal);
                break;
            default:
                seniorTotal=(int) ((double) quantity*seniorCost);
                System.out.println("Total amount for senior tickets $" + seniorTotal);
                break;
        }
  } 

1 个答案:

答案 0 :(得分:1)

创建一个设置为true的布尔变量。

boolean continueLoop = true;

将您的主要逻辑添加到while循环中,直到continue为真

while(continueLoop){
  //Do your code here
  System.out.println("Do you wish to continue? (Y/N) ");
  resume = input.next().charAt(0);
  if (resume == 'y' || resume == 'Y'){}
  else{
  //Do Code here
   continueLoop=false;
   }
} //End while loop.

while循环之后,继续执行您的代码。我将简历== y的条件更改为恢复!= y,因为如果用户不按y,则代码应停止迭代。

您的代码将变为

int option, quantity, confirm;
        float childTotal;
        float adultTotal;
        float seniorTotal;

        final double childCost = 18;
        final double adultCost = 36;
        final double seniorCost = 32.50;

        boolean continueLoop = true;
        char resume;

        Scanner input = new Scanner(System.in);
        while(continueLoop){
                System.out.println("1 = Child (4-6 yrs)");
                System.out.println("2 = Adult (16+ yrs)");
                System.out.println("3 = Senior (60+ yrs)" + "\n");

                System.out.println("Enter your option:" );
                option=input.nextInt();

                switch (option) {
                    case 1:
                        System.out.println("Enter total No of tickets for Child:" );
                        quantity=input.nextInt();

                        System.out.println("You are purchasing " + quantity + " child tickets");

                        System.out.println("Press 1 to confirm");
                        confirm=input.nextInt();

                        break;

                    case 2:
                        System.out.println("Enter total No of tickets for Adult:" );
                        quantity=input.nextInt();

                        System.out.println("You are purchasing " + quantity + " adult tickets");

                        System.out.println("Press 1 to confirm");
                        confirm=input.nextInt();

                        break;

                    default:
                        System.out.println("Enter total No of tickets for Senior:" );
                        quantity=input.nextInt();

                        System.out.println("You are purchasing " + quantity + " senior tickets");

                        System.out.println("Press 1 to confirm");
                        confirm=input.nextInt();

                        break;
                }

                if (confirm !=1) {
                    System.out.println("Incorrect key! User to go back to main menu");
                }


              System.out.println("Do you wish to continue? (Y/N) ");
              resume = input.next().charAt(0);

              if (resume == 'y' || resume == 'Y') {
              }else{
                  continueLoop = false;
                  switch (option) {
                    case 1:
                        childTotal=(int) ((double) quantity*childCost) ;
                        System.out.println("Total amount for child tickets: $" + childTotal);
                        break;
                    case 2:
                        adultTotal=(int) ((double) quantity*adultCost) ;
                        System.out.println("Total amount for adult tickets $" + adultTotal);
                        break;
                    default:
                        seniorTotal=(int) ((double) quantity*seniorCost);
                        System.out.println("Total amount for senior tickets $" + seniorTotal);
                        break;
                  }
              }
        }
    }