要进行学校作业,我们必须开设“购物车”课程,以及“物品”课程和跑步者。我想出了如何打印出用户输入的物品的收据,但是我不知道的一件事是如何使用插入排序来编写一种排序方法,该方法按购物车中的每个项目的总成本(价格*数量)进行排序)
这是我的错误:
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错误。
答案 0 :(得分:2)
我认为您有这样的东西:
Item[] cart = new Item[50];
这将创建一个数组,该数组具有用于50个项目的 room 。但是所有房间都被初始化为null。您仍然需要制作50件物品:
for (int i = 0; i < cart.length; i++) cart[i] = new Item();