我必须写一个Java程序做while循环。基本上它就像自助结帐登记在杂货店。首先程序提示用户输入项目1的名称和价格,在我们输入后,它问“你想添加更多吗?”并提示用户。如果我们说是,然后它重复,添加项目2**(项目编号递增)**名称和价格。因此,它是这样的,直到我们说“否”或直到输入10个项目。然后,程序打印所有项目编号对应它们的名称。和价格。还计算所有项目的总额。我的代码只打印最后一个项目的编号,名称,价格和总额。我不知道如何合并数组来完成。示例应该如何看:
_output: Enter Item1 and its price:_
_input: Tomatoes_
_input: 5.5_
_output: Add one more item?_
_input: yes_
_output: Enter Item2 and its price:_
_input: Cheese_
_input: 3.5_
_output: Add one more item?_
_input: yes_
_output: Enter Item3 and its price:_
_input: Apples_
_input: 6.3_
_output: Add one more item?_
_input: no_
_output: Item1: Tomatoes Price: 5.5, Item2: Cheese Price: 3.5, Item3: Apples Price: 6.3_
_output: Total price: 15.3_
这是我的代码。它只打印最后一个项目的编号,名称和总价格。但不能设法打印所有的一个接一个的例子。
Scanner scan = new Scanner(System.in);
String item;
double price;
int i=1;
double total=0;
String quest;
String items [] = {};
do {
System.out.println("Enter item " + i + " and it's price:");
item = scan.next();
price=scan.nextDouble();
i++;
total=total+price;
System.out.println("Add one more item?");
quest=scan.next();
} while (quest.equalsIgnoreCase("yes")) ; {
System.out.println("Item "+i+": " + item + " Price: " + price + ",");
System.out.println("Total price: " + total);
}
1条答案
按热度按时间vi4fp9gy1#
您需要将每个输入储存在array或集合中,例如
ArrayList
。如果选择使用数组,可以询问用户要输入多少项,然后使用该值作为数组的长度:
如果您决定使用列表,则不需要向用户询问列表大小,因为列表是动态扩展数据类型的:
然后,对于循环的每次迭代,将值保存到数组/列表中:
或者对于列表方法:
然后你可以遍历列表/数组来打印输出:
列表: