Пользователь вернется в главное меню, если выбрано «да» - PullRequest
0 голосов
/ 25 июня 2018

Привет, ребята, у меня возникла проблема с тем, как это сделать, я гуглил это, но это не имеет особого смысла. мне нужно сделать это; Программа спрашивает пользователя, желают ли они продолжить. Yes Если выбрано «Да», оно вернется в главное меню. No Если выбрано «Нет», общая сумма к оплате будет и программа прекратит работу

  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 голосов
/ 25 июня 2018

Создать логическую переменную, установленную как true.

boolean continueLoop = true;

Добавляйте свою основную логику в цикл while до тех пор, пока продолжение не станет истинным

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;
                  }
              }
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...