购物车中的java数组赋值混淆

时间:2012-12-06 16:23:50

标签: java

我在研究其他东西时遇到了这个java购物车。我对以下创建的数组感到困惑:

public class CartEntry
{
  public float Price;
  public int Quantity;
}

public class CartContents
{
  public CartEntry[] items;
}

public class Order
{
  private CartContents cart;
  private float salesTax;

  public Order(CartContents cart, float salesTax)
  {
    this.cart = cart;
    this.salesTax = salesTax;
  }

  public float OrderTotal()
  {
    float cartTotal = 0;
    for (int i = 0; i < cart.items.Length; i++)
    {
      cartTotal += cart.items[i].Price * cart.items[i].Quantity;
    }
    cartTotal += cartTotal*salesTax;
    return cartTotal;
  }
}

我感到困惑的是这条线:

    public CartEntry[] items;

“item”是什么意思?它是指向CartEntry数组的引用吗?另外,我知道这是一个不完整的程序,我一直在试图弄清楚如何将它放入我实际可以调用的代码中并查看它的结果。我知道我需要一个main方法并在数组中放入一些项目。我是朝着正确的方向前进的吗?谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

items是对CartEntry数组中第一个项目的内存位置的引用。而且我担心我必须同意@tacticalcoder,使用浮动代表钱不是一个好主意。你最好创建自己的Money类,并将美元和美分分成2个不同的整数并使运营商超载。