I am trying to count the number of occurrences of days of the week in a textfile. As of right now my code counts the total number of occurrences but I need it to count the number of individual occurrences of each keyword. The output needs to look like this
Monday = 1
Tuesday = 2
Wednesday = 0
etc.
Here's my code so far
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Map;
import java.util.HashMap;
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);
}
}
}
}
catch (FileNotFoundException exception)
{
exception.printStackTrace();
}
catch (IOException exception)
{
exception.printStackTrace();
}
int count = 0;
for (Integer i : DayCount.values())
{
count += i;
}
System.out.println("\n\nCount = " + count);
}
}