Java. Есть интернет-магазин, классы товаров, конструкторы и т. Д. (У меня есть все, что мне нужно). Также есть множество товаров.
Оператор switch предоставляет возможность выбора, пользователю необходимо выбрать номер продукта на консоли. Я хочу, чтобы пользователь мог выбирать несколько продуктов (не только один), поэтому я добавил сканеры (надеюсь, в сканере нет ничего плохого) У меня есть метод, который направляет пользователя в главное меню, который в этом коде называется firstMethod ();
Проблема с переходом в главное меню через оператор switch. Когда я нажимаю 1, 3 и так далее - продукты отображаются, но когда я нажимаю 6, firstMethod (метод, который вызывает главное меню в этом интернет-магазине) действительно работает, но не «вовремя». Когда я нажимаю 1, выполняется регистр 1, программа ожидает ввода следующего числа. Я нажимаю 6 (чтобы перейти в главное меню), и по какой-то причине программа отображает случай 2. Затем я нажимаю 6, и консоль отображает случай 3 и так далее. Еще два раза, и консоль отображает главное меню, это действительно то, что я хочу показать прямо в тот момент, когда я нажимаю номер 6.
Скажите пожалуйста - что с этим не так? Как перейти в главное меню (вызвать метод) с этим оператором, или лучше использовать другой? Напишите это пожалуйста.
Итак, я хочу, чтобы первый метод работал, когда пользователь нажимает 6 число. Могу ли я сделать это через коммутатор или мне нужен другой оператор? Пожалуйста, помогите, я буду очень благодарен.
public static void switch1() {
Product[] products = {
new Fridge(),
new Fridge(),
new Fridge(),
...
...
...
};
Scanner scan = new Scanner(System.in);
System.out.println("1 - " + products[0]);
System.out.println("2 - " + products[1]);
System.out.println("3 - " + products[2]);
System.out.println("4 - " + products[3]);
System.out.println("5 - " + products[4]);
System.out.println("6 - Go to main menu");
System.out.println("Which one do u want to buy?");
int i = Scanner.nextInt ();
switch (i) {
case 1:
System.out.println(products[0]);
Scanner.nextInt();
case 2:
System.out.println(products[1]);
Scanner.nextInt();
case 3:
System.out.println(products[2]);
Scanner.nextInt();
case 4:
System.out.println(products[3]);
Scanner.nextInt();
case 5:
System.out.println(products[4]);
Scanner.nextInt();
case 6:
firstMethod();
}