【发布时间】:2013-08-02 00:11:54
【问题描述】:
所以我正在开发这个程序,我需要对包含项目、项目数量、库存总单位和价格的数组列表进行排序。我已经这样做了,我遇到的唯一问题是我找不到通过将总单位乘以价格来获得数组列表总数的方法。
我的数组列表如下所示:
ArrayList< Inventory > a1 = new ArrayList< >();
a1.add(new Inventory("shoes", 1345, 134, 20.50f));
a1.add(new Inventory("pies", 1732, 150, 3.35f));
a1.add(new Inventory("cherries", 1143, 200, 4.40f));
a1.add(new Inventory("shirt", 1575, 99, 10.60f));
a1.add(new Inventory("beer", 1004, 120, 8.50f));
现在要评估总数,我尝试将其放入构造函数类中:
public float getTotal()
{
float total = 0.0f;
return total += getUnit() * getPrice();
}
当我尝试在主类中使用它时,我是这样写的:
Inventory[] array = new Inventory[a1.size()];
Arrays.sort(a1.toArray(array));
for (Inventory p : array)
System.out.println(p);
for(Inventory total: array)
System.out.printf("The total of the Inventory is:$%.2f ", total.getTotal());
我的问题是,评估会遍历每一行,并输出每一行的每一个值。我尝试了许多其他不同的 for 循环,但我无法得到一个总值,它评估整个数组列表。有人能解释一下我怎样才能把它变成一个单一的值吗?我以前做过,但是当我更改数组列表以对其进行排序时,现在我无法再次获得单个值。
哦!这是在 Netbeans for Java 中。
谢谢!
【问题讨论】:
-
你必须在循环时创建一个局部变量并存储以前的值
-
在问题的第一部分中,您正在谈论
ArrayList的Inventory对象。然后......您正在谈论对它们的数组进行排序。这最终与总计无关。我真的不确定你在问什么。 -
@BrianRoach 好吧,我不知道如何解释,我是新手。我在找出如何对项目列表进行排序时遇到了很多麻烦,我用其他方式写了它。我之前能够得到这个列表的总价格,现在我整理它,我不知道如何从这个新列表中获得总价格。我不知道这是否清楚,如果没有,那么请告诉我我该如何解释。我真的需要帮助。
标签: java arrays loops return-value