如何编写GetItemIndex方法

时间:2019-04-23 20:19:30

标签: java arrays object aggregator

我正在创建代表购物车的ShoppingCart类。我对类的基本知识和getTotalPrice方法都很满意,但是我不知道如何解决getItemIndex问题。 “完成getItemIndex方法,如下所示:如果itemList有一个名称已传递给参数的项目,则返回该项目在数组中的索引。否则返回-1。”

我知道我必须调用Items类,但是我不明白如何从item类中获取名称并返回索引。

我已经创建了Items类以及ShoppingCart类的实例变量和构造函数。我看过其他购物车方法,但是找不到执行getItemIndex

的方法。

i我尝试了包含在底部的名为getItemIndex的代码...我包括了getTotalPrice,以防需要作为参考。

 public class ShoppingCart{


private Items[] itemList;
//TODO: declare the number of distinct items in the cart
    private int numItems = 0;
private static final int INITIAL_CAP = 5; // the initial size of the 
    cart
private static final int GROW_BY=3;


// ---------------------------------------------------------
// Creates an empty shopping cart with a capacity for 5 items.
// ---------------------------------------------------------
public ShoppingCart(){
    itemList = new Items[INITIAL_CAP];
    numItems = 0;
}
public double getTotalPrice(){
    double totalPrice = 0;
    numItems = 0;
    for(int i = 0; i<itemList.length; i++){
        if(itemList[i]!= null){
            totalPrice = totalPrice + (itemList[i].getQuantity()*itemList[i].getPrice());
            numItems++;
        }
    }
    return totalPrice;
}
private int getItemIndex(){
    if(itemList(itemList.getName))
        return Items[itemList.getName];
    else 
        return -1;
} 

}

这是物品类别

     public class Items{
private String name;
private double price;
private int quantity;

public Items (String n, double p, int q){
    name = n;
    price = p;
    quantity = q;
}
public double getPrice(){
    return price;
}
public String getName(){
    return name;
}
public int getQuantity(){
    return quantity;
}
public void addQuantity(int amt){
    int newQuantity = amt + quantity;
    quantity = newQuantity;
}
public String toString(){
    return "item name: " + name + ", item quantity: " + quantity + ", total price: " + (price * quantity);
}

}

我期望的是一个if语句的方法,但是我不确定如何获取ItemIndex ...我也不知道这是否需要for循环。在另一堂课中,我将调用此方法以使用它来模拟购物体验。

1 个答案:

答案 0 :(得分:0)

这应该有效。您指定要查找的nameOfItem。然后遍历数组中的所有项目,如果它在数组中,则返回索引。

  <script>
    var data 
    $(document).ready(function() {
        $('form').submit(function (e) {
            var url = "{{ url_for('results') }}"; // send the form data here.
            $.ajax({
              type: "POST",
              url: url,
              data: $('form').serialize(), 
              success: function (data) {
                var d = document.createElement('div');
                d.innerHTML = data;
                $(".my-results").html(data);
              }
            });
            e.preventDefault(); // block the traditional submission of the form.
        });
    });
</script>

.
.
.
.
        <div>
          <br>
          <p class="my-results">Results should display here.</p>
        </div>
    </div>