Я все еще новичок на Java, поэтому, если этот вопрос звучит глупо, пожалуйста, просветите меня. Любое предложение приветствуется.Java - Принимать разные ключи от пользователя для выполнения различных задач, заканчиваться, когда пользователь нажимает «X»
Я думаю о некотором способе реализации программы, которая позволяет пользователю вводить ключ с клавиатуры для выполнения различных задач. Дело в том, что программа должна быть в состоянии продолжить до пользователь нажимает определенный ключ, скажем, «X».
Это является частью класса PizzaDemo я работаю и часть getPizzas() метод, который выполняет вышеописанную задачу:
public class PizzaDemo {
private PizzaOrder list;
public PizzaDemo(){
list = new PizzaOrder();
}
public static void getPizzas(){
Scanner sc = new Scanner(System.in);
System.out.println("To add a new Ham & Cheese pizza, press H.");
System.out.println("To add a new Pepperoni pizza, press P.");
System.out.println("To add a new Tropical pizza, press T.");
System.out.println("To exit, press X");
String input = sc.next();
while(!input.equalsIgnoreCase("H") && !input.equalsIgnoreCase("P") && !input.equalsIgnoreCase("T") && !input.equalsIgnoreCase("X")){
System.out.println("Invalid key. Enter again: ");
input = sc.next();
}
if (input.equalsIgnoreCase("H")){
System.out.println("Enter the size of the pizza: ");
String size = sc.next();
System.out.println("Enter the number of ham toppings: ");
int n1 = sc.nextInt();
System.out.println("Enter the number of cheese toppings: ");
int n2 = sc.nextInt();
Topping[] top = {createTopping("ham", n1), createTopping("cheese", n2)};
Pizza p = createHamCheese(size, top);
PizzaDemo demo = new PizzaDemo();
demo.list.setPizza(p);
getPizzas();
}
// the rest of the code is omitted
}
}
Проблема заключается в том, я не могу показаться, чтобы найти какой-либо способ использовать конструктор таким образом, чтобы ранее добавленный элемент все еще сохранялся, даже если вызывается рекурсия (в блоке if). У кого-нибудь есть предложение? Конструктор используется для инициализации нового порядка пиццы, и это часть программы, поэтому я не могу ее опустить.
Спасибо заранее, ребята.
Хорошо, тогда может быть вызов конструктора вне цикла поможет? –
Да, я полностью упустил тот факт, что там был ваш конструктор. –