我需要创建一个java应用程序,询问用户是否要在每个问题后继续。
E.g 你叫什么名字? 你想继续吗? Y / N 你要点什么披萨?
到目前为止,我的代码是这样的,但我不知道在if循环中放置什么
public class Mod2P5{
public static void main(String[]args){
while(true){
Double cost = 0.00;
String cont = "Y";
/*Start of Menu*/
String pizza_item[] = new String [13];
pizza_item [0] = "Hawian";
pizza_item [1] = "Meat Lovers";
pizza_item [2] ="Vege";
pizza_item [3] = "Supreme";
pizza_item [4] = "Pepironi";
pizza_item [5] = "God Father";
pizza_item [6] ="Mr Wedge";
pizza_item [7] = "Double Bacon Cheese Burger";
pizza_item [8] = "Mustard Beef and Bacon";
pizza_item [9] ="Chilly Beef";
pizza_item [10] = "BBQ";
pizza_item [11] = "Sweet and Sour";
pizza_item [12] = "Prawn";
Double pizza_price[] = new Double [13];
pizza_price [0] =8.50;
pizza_price [1] = 8.50;
pizza_price [2] =8.50;
pizza_price [3] = 8.50;
pizza_price [4] =8.50;
pizza_price [5] = 8.50;
pizza_price [6] =8.50;
pizza_price [7] =8.50;
pizza_price [8] = 13.50;
pizza_price [9] =13.50;
pizza_price [10] = 13.50;
pizza_price [11] =13.50;
pizza_price [12] = 13.50;
/*End of Menu*/
int pickup_delivery = readInt("Press 1 for delivery or 2 for pickup.");
cont = readString("Press Y to continue or N to cancel.");
String name = readString("What is your name");
cont = readString("Press Y to continue or N to cancel.");
System.out.print(pickup_delivery + name + cost);
if (cont.equalsIgnoreCase("Y")){
break;
// goes to beginning of while loop
}
}
}
/*reads and returns an integer from the keyboard*/
public static int readInt(String prompt){
System.out.println(prompt);
java.util.Scanner keyboard = new java.util.Scanner(System.in);
return keyboard.nextInt();
}
/*reads and returns a String from the keyboard*/
public static String readString(String prompt){
System.out.println(prompt);
java.util.Scanner keyboard = new java.util.Scanner(System.in);
return keyboard.nextLine();
}
/*reads and returns a double from the keyboard*/
public static double readDouble(String prompt){
System.out.println(prompt);
java.util.Scanner keyboard = new java.util.Scanner(System.in);
return keyboard.nextDouble();
}
}
答案 0 :(得分:2)
您可以这样做:
while(true) {
// initialization
int pickup_delivery = readInt("Press 1 for delivery or 2 for pickup.");
cont = readString("Press Y to continue or N to cancel.");
if (cont.equalsIgnoreCase("n"))
continue; // goes to beginning of loop; restarts the questionaire
}
要退出循环,只需使用break;
即可。
答案 1 :(得分:2)
可能会让你失望的一件事 -
if (cont=="n"){ //<-- this wont work
System.exit();
}
比较String
个对象时,您需要使用equals()
方法 - 而不是==
运算符。 ==
运算符将比较引用,对于String
实例,这并不意味着内容。
equalsIgnoreCase()
这将使您的程序更加用户友好。
答案 2 :(得分:-1)
因为这是家庭作业,请用Head First Design Pattern学习设计模式,这是了解对象的最简单方法。 (或其他一些书籍或教程)
他们讲过披萨,怎么做有好的做法......你会发现重启是如何工作的!