みなさん、こんにちは。これを機能させるのに問題があります。基本的に私がやりたかったのは、この種のデータを含むテキストファイルを正確にではなく、まったく同じように読み取って、各行に表示される各文字の頻度を数えることです。また、実際のデータには0〜255のランダムASCIIが含まれています。
例は次のとおりです。
こんにちは、ジョンです。
.4%2)&、。!m @ ll
私が欲しかったのは、マップのリストに実装されたこのようなものです
{H = 3、i = 3、'' = 3、t = 1、h = 2、s = 2、...行末まで}、
{W = 1、e = 2、'' = 4 、a = 1、r = 1、g = 2、o = 1、i = 1、n = 1、。= 2、4 = 1、%= 1 ....行末まで}、
だからその地図のリスト
私は同様の質問について調査しようとしましたが、コーディングで最も近いのはこれです。
List <Map<String, Integer>> storeListsofMaps = new ArrayList<Map<String, Integer>>();
ArrayList <String> storePerLine = new ArrayList<String>();
String getBuf;
try {
FileReader rf = new FileReader("simpleTextCharDist.txt");
BufferedReader encapRF = new BufferedReader(rf);
getBuf = encapRF.readLine();
while (getBuf!=null){
storePerLine.add(getBuf);
getBuf = encapRF.readLine();
}
for (String index: storePerLine){
Map<String, Integer> storeCharAndCount = new HashMap<String, Integer>();
Integer count = storeCharAndCount.get(index);
storeCharAndCount.put(index, (count==null)?count = 1:count+1);
storeListsofMaps.add(storeCharAndCount);
}
System.out.println("StoreListsofMaps: "+ storeListsofMaps);
encapRF.close();
}
私はこのコードが私が説明したものを実行しないことを知っていますが、この部分まで立ち往生しています。私が示したコードは、文字列内の各文字ではなく、単語自体のみをカウントします。文字列をchar[]に変換し、再度文字列に変換して、文字列内の各要素の反復をカウントしようとしましたが、非常に非効率的で、多くのエラーが発生します。誰かが助けてくれるほど親切にしてくれることを願っています。