我會盡力而爲。 所以我得到一個空指針異常的代碼。我試着查找是什麼原因以及如何修復它,但這就是爲什麼我對這個特定代碼感到困惑。今天早些時候它工作得很好,現在它拋出了例外。任何幫助?我可能只是忽略了一些愚蠢的東西,但這很令人沮喪。代碼如下:發生在運行時奇數空指針異常
import java.util.*;
import java.io.*;
public class ShopMain<T> {
List<T> stock;
public void Shop() { stock = new LinkedList<T>(); }
public T buy() { return stock.remove(0); }
void sell(T item) { stock.add(item); }
void buy(int n, Collection<? super T>items) {
for (T e : stock.subList(0, n)) {
items.add(e);
}
for (int i=0; i<n; ++i) stock.remove(0);
}
void sell(Collection<? extends T> items) {
for (T e : items) {
stock.add(e);
}
}
public static void main (String[] args) {
ShopMain<Marker> paintballShop = new ShopMain<Marker>();
Console console = System.console();
System.out.println("1 - Test Suite");
String input = console.readLine("Please select the corresponding number to your choice.\n");
if(input.equals("1")){
Stack<Marker> stack = new Stack<Marker>();
Set<Marker> hashset = new HashSet<Marker>();
System.out.println("Test Suite : Tests List, Stack, HashSet");
paintballShop.sell(new Geo3());
paintballShop.sell(new Ego11());
paintballShop.buy();
paintballShop.buy(2, stack); //Stack use
paintballShop.sell(stack); //Stack use
paintballShop.buy(3, hashset); //HashSet
paintballShop.sell(hashset); //HashSet
System.out.println("Tests Complete");
}
}
}
異常錯誤:
Exception in thread "main" java.lang.NullPointerException
at ShopMain.sell(ShopMain.java:14)
at ShopMain.main(ShopMain.java:39)
這些最後位的對象及其父類剛下課「佔位符」。
public class Marker{}
public class Geo3 extends Marker{}
public class Ego11 extends Marker{}
再次感謝您的幫助。
'Shop()'爲什麼這個函數在那裏,你的意思是構造函數? – Dipak