我正在制作一个带有在线披萨系统的项目并遇到了问题。我想java说比萨饼是素食者还是素食者。我的火腿顶部有火腿,所以如果用户拿火腿披萨,应该说它不是素食,否则应该说披萨是素食主义者。我不知道该怎么做,有人能告诉我一些例子吗?
System.out.println("Order Confirmation: ");
System.out.println(pizza.getPizzaBase().getName() + " crust pizza");
for(PizzaTopping pizzaTopping: pizza.getPizzaToppings()){
System.out.println("1 x " + pizzaTopping.getName());
}
答案 0 :(得分:3)
为什么没有一个名为“Meat”的界面,所有非素食选项类都会实现?然后你可以所有的浇头和迭代检查是否有一个非蔬菜选项?或者你可以把它添加到比萨饼中吗?你只需要知道只有1个。
答案 1 :(得分:1)
检查for循环中的顶部类型。这段代码是简化的 - 而不是“ham”的测试,通常会写一个isVegetarianTopping()方法,它将包含非素食配料列表。
System.out.println("Order Confirmation: ");
System.out.println(pizza.getPizzaBase().getName() + " crust pizza");
boolean vegetarian = true;
for(PizzaTopping pizzaTopping: pizza.getPizzaToppings()){
if (pizzaTopping.getName().equals("Ham") || pizzaTopping.getName().equals("ham"))
vegetarian = false;
System.out.println("1 x " + pizzaTopping.getName());
}
if (vegetarian)
System.out.println("Vegetarian")
else
System.out.println("Not Vegetarian")
答案 2 :(得分:0)
System.out.println("Order Confirmation: ");
System.out.println(pizza.getPizzaBase().getName() + " crust pizza");
for(PizzaTopping pizzaTopping: pizza.getPizzaToppings()){
if (pizzaTopping.getName().toLowerCase().equals("ham") {
System.out.prinln("Vegitarian pizza");
}
System.out.println("1 x " + pizzaTopping.getName());
}
答案 3 :(得分:0)
System.out.println("Order Confirmation: ");
System.out.println(pizza.getPizzaBase().getName() + " crust pizza");
for(PizzaTopping pizzaTopping: pizza.getPizzaToppings()){
if (pizzaTopping.getName().toLowerCase().equals("ham") {
System.out.prinln("Not vegitarian pizza");
}
else System.out.prinln("Vegitarian pizza");
System.out.println("1 x " + pizzaTopping.getName());
}