ファイルを反復処理して、各単語の文字数を取得しています。各単語の長さを見つけると、文字数の int 値がその配列のインデックス位置に置かれます。原因も解決方法もわかりません。その後、配列を繰り返し処理し、各 int をそのインデックス位置で除算しようとしましたが、/ by 0 例外を取得し続けた理由を理解できませんでした。以下は私のコードです。私が使用している txt ファイルには、1 つの 2 文字の単語と 2 つの 3 文字の単語が含まれています。出力は、2 文字の単語の頻度は 2 (1 である必要があります) であり、3 文字の単語の頻度は 6 (2 である必要があります) です。この割り当てでは、23 文字未満のすべての単語の頻度をカウントし、23 文字を超えるすべての単語を最後の配列インデックス位置にグループ化するだけで済みます。以下は私のコードです。どんな助けでも大歓迎です。
private final int WORDLENGTH = 23;
private int[] wordLengthCount = new int [WORDLENGTH];
while (token.hasMoreTokens()){
token1 = token.nextToken();
for (int t = 0; t<token1.length(); t++){
wordLengthCount[token1.length()-1]++;
}