[英]How do i fix this specific null pointer exception
我正在編寫一個對象類來計算每個字母的數量,當我運行測試代碼時,當通過“ abc”時,它向我顯示了一個空指針異常。我無法弄清原因。 測試代碼沒有錯誤,但是我的對象類中有一些錯誤。
public class LetterInventory {
private static final int COUNTER = 26;
private int size = 0;
private int[] inventory;
public LetterInventory() {
inventory = new int [COUNTER];
}
public LetterInventory (String data) {
data = data.toLowerCase();
for(int i = 0; i < data.length(); i++) {
int charPosition = data.charAt(i) - 'a';
if(charPosition >= 0 && charPosition < COUNTER) {
inventory[charPosition]++;
size++;
}
}
}
您沒有在第二個構造函數中初始化數組。
public LetterInventory(String data) {
inventory = new int[COUNTER]; // <= initialization was missing
data = data.toLowerCase();
for (int i = 0; i < data.length(); i++) {
int charPosition = data.charAt(i) - 'a';
if (charPosition >= 0 && charPosition < COUNTER) {
inventory[charPosition]++;
size++;
}
}
}
我不允許發表評論,所以您可以在這里進行:
public LetterInventory(String data) {
this();
//inventory = new int[COUNTER]; // <= initialization was missing
data = data.toLowerCase();
for (int i = 0; i < data.length(); i++) {
int charPosition = data.charAt(i) - 'a';
if (charPosition >= 0 && charPosition < COUNTER) {
inventory[charPosition]++;
size++;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.