実現したいこと
ここに実現したいことを箇条書きで書いてください。
テキストファイルを読み込み、そこに書いてある単語(1レコード=1単語)を読み込み、どの単語が何回出てきたか表示する。
前提
ここに質問の内容を詳しく書いてください。
文字数と回数のカウントを別のクラスファイルで行い、mainクラスではそのクラスファイルを利用して、配列[6]を使って表示したいです
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class TextWordCounter {
public static void main(String[] args) {
mypackage.TextWord[] tw = new mypackage.TextWord[6];
BufferedReader br = null;
String word = null;
int cnt = 0;
String[] words;
String line;
Map<String,Integer> map = new HashMap<>(); try { File file = new File("word.txt"); br = new BufferedReader(new FileReader(file)); while ((line = br.readLine()) != null) { words = line.split("\\r\\n"); for (String s : words) { if (!s.isEmpty()) { if (map.containsKey(s)) { cnt = map.get(s) + 1; map.put(s, cnt); } else { map.put(s, 1); } } } } } catch (FileNotFoundException fnfe) { System.out.println("ファイルが存在しません"); } catch (IOException e) { System.out.println("ファイルが破損しています。"); } finally { try { br.close(); } // ファイルがない状態で閉じる catch (NullPointerException npe) { System.out.println("ファイルがない状態で閉じようとしています"); } // その他 catch (IOException e){ System.out.println("閉じる作業に何らかの問題があります。"); } for (String s: map.keySet()) { cnt = map.get(s); word = s; System.out.println(word + "(単語):" + cnt + "(出現回数)回です。"); } } }
}
ソースコード
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。

0 コメント