空指针异常Java购物车“排序”方法

时间:2019-02-27 23:44:03

标签: java

要进行学校作业,我们必须开设“购物车”课程,以及“物品”课程和跑步者。我想出了如何打印出用户输入的物品的收据,但是我不知道的一件事是如何使用插入排序来编写一种排序方法,该方法按购物车中的每个项目的总成本(价格*数量)进行排序)

这是我的错误:

java.lang.NullPointerException
    at ShoppingCart.sort(ShoppingCart.java:54)
    at Shopping.main(Shopping.java:32)

我回到陈述的行

购物车:(第54行)

public void sort() {
    double temp;
    int pos = 0;
    for (int i = 1;i< cart.length;i++){
      temp = cart[i].itemPrice(); //line 54
      pos = i;
      while (pos>0 && temp < cart[pos-1].itemPrice()) {
        cart[pos] = cart[pos-1];
        pos--;
      }
      cart[pos] = cart[i];
    }
  }

购物:(第32行)

 cart.sort();

这是我在商品类中获取价格的方法

public double itemPrice(){
     return total; }

我不确定如何解决Null Pointer Exception错误。

1 个答案:

答案 0 :(得分:2)

我认为您有这样的东西:

Item[] cart = new Item[50];

这将创建一个数组,该数组具有用于50个项目的 room 。但是所有房间都被初始化为null。您仍然需要制作50件物品:

for (int i = 0; i < cart.length; i++) cart[i] = new Item();