请我需要帮助。
我正在尝试完成 2 种不同的 java 方法。
1-第一个方法称为 getOrder() ,它应该获取已添加到名为 order 的 ArrayList 的不同项目的订单,但我只是没有包含它的代码,因为我认为没有必要。我需要返回 order ArrayList 的所有内容,只要它不包含 null。getItem 方法(运行良好)使用 A4Q1Util 类按顺序加载项目的内容。
我遇到的问题是这行代码:
return toBeReturned.add(A4Q1Util.getItem());
它给出了以下错误:
类型不匹配:无法从布尔值转换为 java.util.ArrayList
2- 在第二种方法(printOrderCos)中,我应该从 ArrayList 订单中打印出项目的总成本。我定义了变量 totalCost 和 count。Count 被定义为作为一个索引,遍历 order ArrayList 的每个元素(项目),然后将每个项目的成本加到 totalCost 中。
我用第二种方法遇到的问题是这行代码:
totalCost+=order.get(count);
它给出了一个错误:
错误:运算符 += 未定义参数类型 double、Item
public static ArrayList<Item> getOrder()
{
ArrayList<Item> toBeReturned;
toBeReturned = new ArrayList<Item>();
while (A4Q1Util.getItem()!=null)
{
return toBeReturned.add(A4Q1Util.getItem());
}
}
public static void printOrderCost(ArrayList<Item> order)//prints the total cost of the order
{
double totalCost;
int count;
totalCost=0;
for (count=0;count<order.size();count++)
{
totalCost+=order.get(count);//intValue();
}
System.out.println("The total cost of your order is:");
}
class Item
{
protected String description;
protected int quantity;
public Item (String description, int quantity)
{
this.description = description;
this.quantity = quantity;
}
}
class Coffee extends Item
{
protected double unitCost;
public Coffee (String description, int quantity)
{
super(description, quantity);//cost?,and price extraction
unitCost=4;
}
}
class Muffin extends Item
{
protected double unitCost1, unitCost2, unitCost3;
public Muffin (String description, int quantity)
{
super(description,quantity);
unitCost1=1;
unitCost2=0.75;
unitCost3=0.50;
}
}
class TimBits extends Item
{
protected double unitCost;
public TimBits (String description, int quantity)
{
super(description, quantity);
unitCost=0.25;
}
}
class A4Q1Util
{
private static ArrayList<Item> order;
private static int count = 0;
public static Item getItem()
{
Item item;
if (order==null)
{
order = new ArrayList<Item>();
order.add(new Muffin("Bran", 3));
order.add(new Coffee("Latte", 1));
order.add(new TimBits("Assorted", 24));
order.add(new Muffin("Chocolate", 1));
order.add(new Coffee("Decaf", 2));
order.add(new TimBits("Chocolate", 12));
order.add(new Muffin("PeanutButter", 2));
order.add(new Muffin("Blueberry", 5));
}
item = null;
if (count<order.size())
{
item = order.get(count);
count++;
}
{
return item;
}
}
}