空指针异常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; }

我不确定如何修复空指针异常错误。


至尊宝的传说
浏览 108回答 1
1回答

回首忆惘然

我假设你有这样的东西:Item[]&nbsp;cart&nbsp;=&nbsp;new&nbsp;Item[50];这将创建一个可容纳 50 个项目的数组。但所有房间都初始化为空。您仍然需要制作 50 件物品:for&nbsp;(int&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;<&nbsp;cart.length;&nbsp;i++)&nbsp;cart[i]&nbsp;=&nbsp;new&nbsp;Item();
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java