【发布时间】:2013-06-28 05:25:27
【问题描述】:
import java.util.Scanner;
public class Menu {
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int choice, quantity;
double price = 0;
double studentprice = 0;
double totalamt = 0;
String option,student;
char option1, studentChar;
do{
System.out.println("menu");
System.out.println("====");
System.out.println("1. Hamburger");
System.out.println("2. CheeseBurger");
System.out.println("3. FrenchFries");
System.out.println("4. SoftDrinks");
System.out.print("Enter your choice (1,2,3 or 4):");
choice = sc.nextInt();
if(choice ==1)
price = 1.5;
else if (choice ==2)
price = 2;
else if (choice ==3)
price = 2.4;
else if (choice ==4)
price= 1.95;
System.out.print("Enter the quantity of your order:");
quantity = sc.nextInt();
totalamt += price * quantity ;
sc.nextLine();
System.out.print("Do you want to continue? (yes/no)?");
option = sc.next();
option1 = option.charAt(0);
System.out.println("");
}
while(option1 == 'y');
System.out.print("Are you a student? (yes/no?)");
student = sc.next();
studentChar = student.charAt(0);
if(studentChar == 'y')
studentprice = totalamt * 0.9;
System.out.print("$ " + studentprice + " is the price you have to pay " );
**else**(studentChar == 'n')
studentprice = price;
System.out.print("$ " + price + " is the price you have to pay " );
}
}`
最后一个else有错误。它在 else 处显示语法错误,请删除此标记。请帮忙!当我添加 do while 时,它打印为零。 -填充剂填充剂填充剂填充剂填充剂-
谢谢! :)
【问题讨论】:
-
“else”后面不能有 ()。只有在“如果”之后。我想 ** 不在您要编译的真实代码中。和“而(选项1 =='y');”对我来说似乎毫无意义(它甚至可以运行吗?)
-
不,这些实际上是我要指出的
-
是的,我可以运行 while(option1 == 'y') 我已经尝试删除 else 后面的 ()。每当我输入 else 时,它总是说这是一个语法错误
标签: java if-statement