我試圖編寫一個文本分析程序,其中一種方法應該編寫一個文件,其中包含由某個字母開始的每個單詞以及該單詞的出現次數,使用一個文本文件作爲輸入(BufferedReader
和什麼)。錯誤:java.lang.NullPointerException
如果輸入是:「O Pai Natal nao existe。 Mas o coelho da Pascoa existe (e a Fada dos Dentes tambem)。」
輸出爲電子商務應該是:EXISTE 2E 1 到目前爲止我的代碼如下 - 我知道我可以用一個HashMap
,但這是學校工作,我們還沒有得知呢,所以我想以保持內發生了什麼演講 - :
void WordList(char c, String file) throws IOException {
BufferedWriter out = new BufferedWriter(new FileWriter(ficheiro+".txt"));
String[] words = null;
int indexVector = 0;
String[] wordAlreadyWritten = null;
int indexVector2 = 0;
for (int i = 0; i < text.length; i++) {
if (text[i].charAt(0) == c) {
words[indexVector] = texto[i]; /*error here */
indexVector++;
}
}
for (int i = 0; i < words.length; i++) { /*error here*/
if (!wordWasAlreadyWritten(words[i], wordAlreadyWritten)) {
out.write(words[i] + ": " + countNumberRepetitions(words[i], words));
wordAlreadyWritten[indexVector2] = words[i]; /* error here*/
indexVector2++;
}
}
out.close();
}
我也使用一些輔助方法,因爲有些人可能已經注意到:
static boolean wordWasAlreadyWritten(String original, String[] array) {
boolean was = false;
for (int j = 0; j < array.length; j++) {
if (original.equals(array[j])) {
was = true;
}
}
return was;
}
static int countNumberRepetitions(String word, String[] array) {
int counter = 1;
for (int i = 0; i < array.length; i++) {
if (word.equals(array[i])) {
contador++;
}
}
return counter;
}
如果有人可以解釋java.lang.NullPointerException
我越來越和如何解決它,我會比kful。此外,如果有人有任何想法如何使我的代碼更好,它也將不勝感激。
我只是不能似乎找到一個方法來知道整數值放入數組 – user3343824
的尺寸ü可以解釋使用兩個陣列,這樣我可以幫助ü – Kick
我試圖做的是使用「單詞」數組存儲每個單詞,無論多少次,另一個單詞只存儲一次,作爲比較的手段,以便我可以找出它們在「單詞」數組中重複了多少次。對不起,如果它很混淆 – user3343824