Я делаю Java-программу для продуктового магазина, которая перечисляет варианты товаров и добавляет их в корзину в соответствии с пользовательскими данными. Он отлично работает для первого варианта, однако после этого программы работают неправильно. Кажется, я нигде не могу найти ошибку!
В идеале я хочу спросить:
Что бы вы хотели добавить в корзину? введите номер
(пользователь должен ввести номер)
сколько?
(введите номер пользователя)
Хотите добавить что-нибудь еще в корзину? (да / нет)
(введите y или n)
Обычно, когда пользователь вводит «1», он должен добавить его в корзину и т. Д., А затем спросить, хотят ли они добавить еще один элемент. Затем он печатает «что бы вы хотели добавить в корзину». Когда я ввожу другой номер товара, он возвращается к началу цикла while и печатает «что бы вы хотели добавить в корзину», вместо того, чтобы фактически добавить товар. как это происходит с первым пунктом.
Изображение вывода неисправного do while
Я также предоставил код:
do {
System.out.println("What would you like to add to your cart? Enter its corresponding number");
choose = userin.nextInt();
if(choose > 14) {
System.out.println("please choose a valid option!");
keepGoing = true;
} else if(choose == 1) {
System.out.println("how many?");
int quantity;
quantity = userin.nextInt();
cart1.addToCart(FoodItems.QUINOA, 7.00, quantity);
}
System.out.print ("\nWould you like to add anything else to your cart (y/n)? ");
keepShopping = userin.next();
if(choose ==2) {
System.out.println("What would you like to add to your cart? Enter its corresponding number");
choose = userin.nextInt();
System.out.println("how many?");
int quantity;
quantity = userin.nextInt();
cart1.addToCart(FoodItems.ORGEGG, 3.45, quantity);
}
System.out.print ("\nWould you like to add anything else to your cart (y/n)? ");
keepShopping = userin.next();
System.out.println("What would you like to add to your cart? Enter its corresponding number");
choose = userin.nextInt();
if(choose == 3) {
System.out.println("how many?");
int quantity;
quantity = userin.nextInt();
cart1.addToCart(FoodItems.CCNTW, 2.99, quantity);
System.out.print ("\nWould you like to add anything else to your cart (y/n)? ");
keepShopping = userin.next();
}
}
while (keepShopping.equals("y"));
if(keepShopping.equals("n")) {
System.out.println("\n");
Register.talking();
}
System.out.println(cart1);
keepGoing = false;
}