我正在嘗試編寫一個程序,讓用戶將其類的大小輸入到數組中,然後查找所有類的平均值。如何解決NullPointerException錯誤
當我運行程序時,它打印出我輸入到數組中的東西,但它給了我一個NullPointerException
。
代碼:
public void getinput() { //
String dog="dog";
boolean done=true;
int x=0;
int avg=0;
int z=0;
Scanner scan = new Scanner(System.in);
String [] cs = new String [100];
while(done){
System.out.println("Enter the size of one class. When you are done, enter 'quit'");//ask for class sizes
dog=scan.nextLine();
cs[x]=dog;
x++;
if(dog.equalsIgnoreCase("Quit")){
done=false;
}
}
for(z=0;z<cs.length;z++) {
if (!(cs[z].equalsIgnoreCase("quit"))&& !(cs[z]==null)){
System.out.print(cs[z]+", ");
}
}
for(z=0;z<cs.length;z++) {
if (!(cs[z].equalsIgnoreCase("quit"))&& !(cs[z]==null)){
avg=Integer.parseInt(cs[z])+avg;
System.out.println("");
System.out.println("The average number of students in each classroom is "+avg);
}
}
基本上,你需要學習如何調試。首先,看看異常堆棧跟蹤(你**應該在這裏轉載)來找出異常發生的位置。然後檢查該點處的值以查看哪些值可能爲空。如果不明顯,則使用調試器或插入打印語句來找出提供該語句的「可疑」變量的值。然後將問題變量追溯到它(或應該已經)設置的位置,並找出它爲什麼是假的。 –
我已經鏈接到有詳細解答的答疑。 (提示...我的回答。) –
@HotLicks感謝您的建議,但我真的不知道這是什麼:(我剛開始學習java在八月,但感謝您的建議! – odeng