Java toString方法似乎只工作一次,即使它被称为multiple
我试图弄明白为什么在添加另一个比萨饼时,我的toString()函数只能工作一段时间。这是第一个创建的比萨饼的输出,正如预期的那样,运行良好Java toString方法似乎只工作一次,即使它被称为multiple,java,linked-list,tostring,Java,Linked List,Tostring,我试图弄明白为什么在添加另一个比萨饼时,我的toString()函数只能工作一段时间。这是第一个创建的比萨饼的输出,正如预期的那样,运行良好 $ kitchen = new Kitchen() $ pizza = new Pizza() $ pizza.toString()
$ kitchen = new Kitchen()
$ pizza = new Pizza()
$ pizza.toString()
-> "no crust pizza with no toppings and no sauce: $0.00"
$ pizza.ingredients.add(kitchen.ingredients.get(1))
-> true
$ pizza.toString()
-> "Thick crust pizza with no toppings and no sauce: $3.50"
$ pizza.ingredients.add(kitchen.ingredients.get(2))
-> true
$ pizza.toString()
-> "Thick crust pizza with no toppings and Tomato sauce: $4.50"
$ pizza.ingredients.add(kitchen.ingredients.get(5))
-> true
$ pizza.toString()
-> "Thick crust pizza with Olives and Tomato sauce: $6.00"
$ pizza.ingredients.add(kitchen.ingredients.get(7))
-> true
$ pizza.toString()
-> "Thick crust pizza with Olives, Beef and Tomato sauce: $8.75"
$ pizza.ingredients.add(kitchen.ingredients.get(4))
-> true
$ pizza.toString()
-> "Thick crust pizza with Olives, Beef, Capsicum and Tomato sauce:
但另一个比萨饼的产量如下
EXPECTED OUTPUT Current output
Creating new pizza Creating new pizza
Ingredient(s): Thin Ingredient(s): Thin
Thin crust pizza with no toppings and no sauce: $3.00 <
Ingredient(s): Tomato Ingredient(s): Tomato
Thin crust pizza with no toppings and Tomato sauce: $4.00 <
Ingredient(s): Jalapenos Ingredient(s): Jalapenos
Thin crust pizza with Jalapenos and Tomato sauce: $5.00 <
Ingredient(s): Beef Ingredient(s): Beef
Thin crust pizza with Jalapenos, Beef and Tomato sauce: $7.75 <
这个方法被我的厨房类调用,就像这样
public void nameMatch(String match){
Pizza pizza = new Pizza();
for (Ingredient ingredient : ingredients){
if (match.equals(ingredient.ingtoString())){
pizza.testing(ingredient);
}
}
pizza.toString();
}
最后,这是用来制作比萨饼并调用这些方法的
public void create() {
System.out.println("Creating new pizza");
String ingredient1 = "";
while (!ingredient1.equals(".")){
System.out.print("Ingredient(s): ");
ingredient1 = (In.nextLine());
kitchen.nameMatch(ingredient1);
}
System.out.println("ORDER SUMMARY");
kitchen.nameMatch(ingredient1);
}
快速提示所有这些方法都分为3个独立的类每次调用
nameMatch
创建新的比萨饼时,将配料添加到比萨饼中,然后将比萨饼扔掉。我假设你想制作一个比萨饼和所有的配料
另外,
nameMatch
实际上不会打印任何内容pizza.toString()
会将pizza转换为字符串,但如果要打印该字符串,则需要调用System.out.println
——例如System.out.println(pizza.toString())
每次调用nameMatch
创建新的比萨饼时,将配料添加到比萨饼中,然后将比萨饼扔掉。我假设你想制作一个比萨饼和所有的配料
另外,
nameMatch
实际上不会打印任何内容pizza.toString()
会将pizza转换为字符串,但如果要打印该字符串,则需要调用System.out.println
——例如System.out.println(pizza.toString())代码>请阅读,然后将缺少的部分添加到您的问题中。喜欢密码?!我很抱歉,编辑成应该引起问题的内容:)向我们展示一些小代码片段并不能帮助我们重现您的问题。如果需要帮助查找错误,您需要显示整个程序。当前的编辑是否有助于解决该问题?您使帮助变得非常困难。你为什么不能给我们看你的整个节目?您不需要帮助吗?请阅读,然后将缺少的部分添加到您的问题中。喜欢密码?!我很抱歉,编辑成应该引起问题的内容:)向我们展示一些小代码片段并不能帮助我们重现您的问题。如果需要帮助查找错误,您需要显示整个程序。当前的编辑是否有助于解决该问题?您使帮助变得非常困难。你为什么不能给我们看你的整个节目?你不需要帮助吗?你的假设是正确的,我该如何创建一个比萨饼直到它完成?@Dan运行new pizza()
一次,然后调用测试该比萨饼对象很多次。尝试之后,我一直得到“没有配料和酱料的无皮比萨饼:$0.00”每次预测后,如果你的假设是正确的,我该如何创建一个比萨饼直到它完成?@Dan运行new pizza()
一次,然后调用测试该比萨饼对象很多次。尝试之后,我在每种配料后都会得到“没有配料和酱料的无皮比萨饼:$0.00”
public void create() {
System.out.println("Creating new pizza");
String ingredient1 = "";
while (!ingredient1.equals(".")){
System.out.print("Ingredient(s): ");
ingredient1 = (In.nextLine());
kitchen.nameMatch(ingredient1);
}
System.out.println("ORDER SUMMARY");
kitchen.nameMatch(ingredient1);
}