Java 如何使用循环允许用户选择多个项目?
我正在设置一个商店菜单,我希望用户能够使用循环选择另一个项目。我想问你还需要什么吗?在用户选择了一个项目之后,这个过程将继续,直到用户说不。我还没有弄清楚如何在使用循环时做到这一点Java 如何使用循环允许用户选择多个项目?,java,Java,我正在设置一个商店菜单,我希望用户能够使用循环选择另一个项目。我想问你还需要什么吗?在用户选择了一个项目之后,这个过程将继续,直到用户说不。我还没有弄清楚如何在使用循环时做到这一点 System.out.println("\nHere are our products:"); System.out.println("\t[L]arge Toothpick ---- $10.25"); System.out.println("\t[M]edium Toothpick ---
System.out.println("\nHere are our products:");
System.out.println("\t[L]arge Toothpick ---- $10.25");
System.out.println("\t[M]edium Toothpick --- $ 5.25");
System.out.println("\t[S]mall Toothpick ---- Free");
final double cLTP = 10.25; // large toothpick
final double cMTP = 5.25; // medium toothpick
final double cSTP = 1.25; // small toothpick
int QNTY; // quantity
double TCOST; // total cost without tax
double FCOST; // final cost with tax
String response;
char FL; // first letter
System.out.println("\nWhat would you like to buy?");
response = keyboard.nextLine();
FL = response.charAt(0);
if(FL == 'L' || FL == 'l')
{
System.out.println("How many?");
QNTY = keyboard.nextInt();
TCOST = QNTY * cLTP;
}
else if (FL == 'M' || FL == 'm')
{
System.out.println("How many?");
QNTY = keyboard.nextInt();
TCOST = QNTY * cMTP;
}
else if (FL == 'S' || FL == 's')
{
System.out.println("How many?");
QNTY = keyboard.nextInt();
TCOST = QNTY * cSTP;
}
}
感谢大卫·华莱士和评论家们对我的帮助。我已经弄明白了,代码如下:
if(FL == 'L' || FL == 'l')
{
System.out.println("How many?");
QNTY = keyboard.nextInt();
keyboard.nextLine();
TCOST = QNTY * cLTP;
System.out.println("Would you like to buy anything else?");
response = keyboard.nextLine();
FL = response.charAt(0);
if(FL == 'N' || FL == 'n')
{
System.out.println("Okay then, your subtotal is: $"+TCOST);
System.out.println("What is your sales tax? (Format: 5%, Enter: .05)");
TAX = keyboard.nextDouble();
FCOST = TCOST + TCOST * TAX;
System.out.printf("Your total is: $%.2f\n", FCOST);
}
else
{
do
{
System.out.println("What would you like to buy?");
response = keyboard.nextLine();
FL = response.charAt(0);
if(FL == 'L' || FL == 'l')
{
System.out.println("How many?");
QNTY = keyboard.nextInt();
keyboard.nextLine();
TCOST = TCOST + QNTY * cLTP;
}
if(FL == 'M' || FL == 'm')
{
System.out.println("How many?");
QNTY = keyboard.nextInt();
keyboard.nextLine();
TCOST = TCOST + QNTY * cMTP;
}
if(FL == 'S' || FL == 's')
{
System.out.println("How many?");
QNTY = keyboard.nextInt();
keyboard.nextLine();
TCOST = TCOST + QNTY * cSTP;
}
System.out.println("Would you like to buy anything else?");
response = keyboard.nextLine();
FL = response.charAt(0);
}while(FL == 'y' || FL == 'Y');
System.out.println("Okay then, your subtotal is: "+TCOST);
System.out.println("What is your sales tax? (Format: 5%, Enter: .05)");
TAX = keyboard.nextDouble();
FCOST = TCOST + TCOST * TAX;
System.out.printf("Your total is: $%.2f\n", FCOST);
}
}
您想要的循环类型是do while循环。插入
do {
在要重复的零件的开头
最后,执行从用户处获得答案所需的处理,并将要检查的条件放在一段时间内,如下所示
} while (condition);
如果条件涉及一些您将要检查的变量,我相信它会,那么您应该在do之前声明它们,这样它们就不会超出范围。您想要的循环类型是do while循环。插入
do {
在要重复的零件的开头
最后,执行从用户处获得答案所需的处理,并将要检查的条件放在一段时间内,如下所示
} while (condition);
如果条件涉及一些您将要检查的变量,并且我确信它会,那么您应该在do之前声明它们,这样它们就不会超出范围。do while循环在这种情况下会有所帮助。Good luckdo{/*您想在循环中做什么,将答案存储为一个名为wantMore*/}的布尔值,而wantMore==truedo while循环在这种情况下会有所帮助。Good luckdo{/*您想在循环中做什么,在wantMore==true时,将您还想做什么的答案存储为一个名为wantMore*/}的布尔值