テキストファイル内の曜日の出現回数をカウントするコードがあります。現時点では、その行の唯一の文字列である場合にのみ、曜日がカウントされます。たとえば、(Monday abcd) という行がある場合、その月曜日はカウントされません。indexOf を使用して、分割、トリミング、およびハッシュマップへの追加によってこれを修正しようとしましたが、どちらの方法もわかりません。
コードの一部を次に示します。この前に、キーワードを宣言し、テキスト ファイルを開き、各キーワードを値 0 でマップに配置します。
public class DayCounter
{
public static void main(String args[]) throws IOException
{
String[] theKeywords = { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
// put each keyword in the map with value 0
Map<String, Integer> DayCount = new HashMap<String, Integer>();
for (String str : theKeywords)
{
DayCount.put(str, 0);
}
try (BufferedReader br = new BufferedReader(new FileReader("C:\\Eclipse\\test.txt")))
{
String sCurrentLine;
// read lines until reaching the end of the file
while ((sCurrentLine = br.readLine()) != null)
{
if (sCurrentLine.length() != 0)
{
// extract the words from the current line in the file
if (DayCount.containsKey(sCurrentLine))
{
DayCount.put(sCurrentLine, DayCount.get(sCurrentLine) + 1);
}
}
}
ここに出力部分があります
for(String day : theKeywords)
{
System.out.println(day + " = " + DayCount.get(day));
}