Member 13511450 Ответов: 1

Проблема с do-while ! !


У меня есть проблема ,как можно сделать этот код?

----------------------------------------------------
### Добро пожаловать в калькулятор тарифов Uber ###
----------------------------------------------------
| 1 : Получить информацию о тарифах на доступные поездки |
| 2 : Получите смету стоимости проезда для вашего путешествия |
| 3 : отправить рейтинг вашей поездки |
| 4 : Выход и отображение сводки |
----------------------------------------------------
> пожалуйста, введите свой выбор... (1-4):5

Неверный Выбор!! Пожалуйста, попробуйте еще раз



----------------------------------------------------
### Добро пожаловать в калькулятор тарифов Uber ###
----------------------------------------------------
| 1 : Получить информацию о тарифах на доступные поездки |
| 2 : Получите смету стоимости проезда для вашего путешествия |
| 3 : отправить рейтинг вашей поездки |
| 4 : Выход и отображение сводки |
----------------------------------------------------
> пожалуйста, введите свой выбор... (1-4):1

-------------------------------------
*** Аттракционы ***
-------------------------------------
| X или x : UberX |
| L или l : UberXL |
| B или b : UberBlack |
| R или r : возврат в Главное меню |
-------------------------------------

Что я уже пробовал:

Scanner t = new Scanner(System.in);
      int cho;
       do {
          System.out.println("----------------------------------------------------");
          System.out.printf("%-11s%10s%11s", "###", "Welcome to Uber Fare Calculator", "###\n");
          System.out.println("----------------------------------------------------");
          System.out.println("| 1 : Get fare information about available rides   |");
          System.out.println("| 2 : Get a Fare Estimate for your Journey         |");
          System.out.println("| 3 : Submit Rating of your Ride                   |");
          System.out.println("| 4 : Exit and display summary                     |");
          System.out.println("----------------------------------------------------");
          System.out.print(" > Please enter your choice... (1-4):");
          cho = t.nextInt();
          }while(cho<1 || cho>4);


Я хочу, когда пользователь вводит 1,2,3 или 4 перейти к другому циклу, но когда пользователь вводит другой выбор, я хочу этот массаж
System.out.println("\n\t\tInvalid Choice!! Please Try again");

1 Ответов

Рейтинг:
1

OriginalGriff

do ... while продолжает цикл, пока условие teh истинно:

i = 0;
do {
   System.out.println(i);
   i = i + 1;
   } while (i < 5);
Будет печатать:
0
1
2
3
4
Ваше состояние верно только тогда, когда cho является либо меньше 1, либо больше 4: он ложен для всех значений cho в наборе {1, 2, 3, 4}
Поэтому, когда пользователь вводит допустимый выбор меню, он немедленно выходит из цикла.
Измените свое состояние, добавьте код для обработки ваших вариантов меню, и он должен начать работать.


Member 13511450

Где я могу добавить этот код
System.out.println("\n\t\tInvalid Choice!! Пожалуйста, попробуйте еще раз");

OriginalGriff

Как часть кода, который вам еще предстоит написать, чтобы обрабатывать ваши варианты меню! Если вы не найдете подходящего варианта, распечатайте его и повторите все сначала.