锁定6天。关于这个问题的内容,目前还存在争议。它目前不接受新的答案或互动。
编写一个java程序来模拟一个在线商店。这个程序应该从显示产品及其价格列表开始。至少应提供4种产品。
我的代码如下,它没有字符串,但我需要有蛋糕的名称(显示名称和价格)
import java.util.Scanner;
public class Main
{
public static void main(String[] args) {
Scanner input= new Scanner(System.in)
int cakeNo = 0;
double cake1;
double cake2;
double cake3;
double cake4;
double cake5;
int quantity;
double totalSales = 0;
while(cakeNo !=0 )
System.out.println("Enter cake number 1-5");
cakeNo=input.nextInt();
System.out.println("Enter quantity");
quantity = input.nextInt();
switch (cakeNo){
case 1: cake1 = 3.70;
totalSales+=(3.70*quantity);
break;
case 2: cake2 = 4.20;
totalSales+=(4.20*quantity);
break;
case 3: cake3 = 4.50;
totalSales+=(4.50*quantity);
break;
case 4: cake4 = 5.00;
totalSales+=(5.00*quantity);
break;
case 5: cake5 = 5.50;
totalSales+=(5.50*quantity);
break;
}
System.out.println(totalSales);
}
}
非常感谢你的阅读!如果你有主意,请帮忙。
2条答案
按热度按时间t8e9dugd1#
好吧,在你的代码中有一些错误,你应该首先注意。
第一:前5个字符串定义错误。应该是这样的
String cake1 = "Angel cake"
等等。第二:字符串和双精度有相同的名字你不能这样做。你需要像这样的东西
String cake1Name = "Name"
以及double cake1Price = price
这样每个蛋糕都有两个不同的属性。第三:现在代码甚至没有进入while循环。因为cakeno从0开始,while循环中的条件是
cakeNo != 0
就在第一个循环之前,这个条件将被测试,这将是错误的,这意味着循环代码将不会被执行,并将跳转到程序的末尾。在这个修复之后,仍然有一个小问题。从用户那里得到输入后,如果所说的输入为0,则表示他想离开,程序仍会向他索要数量。当这个条件为真时,您需要添加/更改一些打破循环的内容。我不想给你代码,但我希望这个答案能帮你好运:)
1u4esq0p2#
我会这么做: