import java.util.ArrayList;
import java.util.Scanner;
public class P8 {
public static void main(String[] args) {
double runningTotal = 0.00;
double subTotal = 0.00;
int d = 0;
int d1 = 1;
ArrayList<String> menuItems = new ArrayList<String>();
ArrayList<Double> menuCost = new ArrayList<Double>();
ArrayList<Integer> menuQuantity = new ArrayList<Integer>();
int counter = 0;
String[] options = {
"Y", "y", "Yes", "yes", "YES"
};
boolean found = false;
while(d < d1) {
++counter;
Scanner order = new Scanner(System.in);
System.out.print("What would you like to order? "); //item order
String foodItem = order.nextLine();
menuItems.add(foodItem);
Scanner quantity = new Scanner(System.in);
System.out.print("How many orders of that item would you like? "); //item order quantity
int foodQuantity = quantity.nextInt();
menuQuantity.add(foodQuantity);
double randNum = (double)(System.currentTimeMillis() % 11);
menuCost.add(randNum);
runningTotal = randNum * foodQuantity;
subTotal += runningTotal;
Scanner response = new Scanner(System.in);
System.out.print("Would you like to order more items? ");
String response1 = response.nextLine();
for (String elements:options) {
if (response1.equals(elements)){
found = true;
break;
}
}
if (found == true) {
found = false;
d = 0;
}
else {
int counter2 = 0;
int counter3 = 1;
while (counter2 <= counter) {
for (String elements:menuItems) {
double itemQuantity = menuQuantity.get(counter2);
double itemCost = menuCost.get(counter2);
System.out.printf("%2d%10s%5d%10.2f%10.2f\n", counter3, elements, itemQuantity, itemCost, (itemQuantity * itemCost));
counter2 += 1;
counter3 += 1;
}
}
break;
}
}
}
}
Пример того, как будет выглядеть одна строка этого вывода:
1 - красное вино - - 2 - - - - 6,25 - - - - - 12,50
Я хочу, чтобы мой код продолжал повторяться, пока цикл не завершится. В Python это очень просто, так как я могу просто итерировать все объекты одновременно в одном цикле while, используя индекс. К сожалению, так как это мой первый день написания кода на Java для одного из моих классов, я не могу не чувствовать себя потерянным и думаю, что у него совершенно другой набор правил, которые я пока не могу понять.
По сути, мне просто нужно знать, как я могу перебирать несколько списков массивов разных типов и печатать их в одной строке.
Кстати, извините, но я не знаю, как правильно отформатировать свои сообщения на этом сайте, поэтому я использовал горизонтальные линии для обозначения пробелов, которые представляют «% d и% s» моего кода. Я всегда получаю уведомления о том, что кто-то редактирует мой пост, и мне кажется, что меня критикуют, не имея возможности предотвратить это. Если кто-то может направить меня куда-нибудь, чтобы показать, как я могу правильно отформатировать свой код, я был бы очень признателен.