텍스트 파일에서 요일의 발생 횟수를 계산하는 코드가 있습니다. 현재로서는 해당 줄의 유일한 문자열 인 경우에만 요일을 계산합니다. 예를 들어, (월요일 abcd)라는 줄이 있으면 계산에 그 월요일을 계산하지 않습니다. indexOf와 split, trimming을 사용하여 해시 맵에 다시 추가하려고했으나 둘 중 하나를 수행하는 방법을 파악할 수 없습니다. Heres는동일한 줄에있는 문자열의 발생
코드의 일부, 나는 키워드 선언이 전에, 출력 부분을 TEXTFILE을 열고을 heres 제로
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));
}
이것이 작동하지 않는 것 같습니다.이것이 내가 지금 TEXTFILE에 무엇을하고 나는 점점 오전 (화요일 = -1 월요일 = 0, 수요일 = 1)의' BC 데프 GHIJ * 월요일 수요일 월요일 화요일 Monday' 월요일 수요일 월요일은 모두 같은 줄에있다. – user2007843
@ user2007843 -1이 어디서 왔는지 상상조차 할 수 없다. 방금 설명한 파일과 함께 실행하면 화요일 = 1, 수요일 = 1이됩니다. 분할 메서드는 그 뒤에 문자가 없으면 마지막 메서드를 선택하지 않기 때문에 - 그것을 제공해야합니다. 마지막에 빈 일치를 허용하는 다른 매개 변수 (지금 내 대답은 고정되어 있으며 찾을 수있는 모든 경우에 대한 작업). –
이 줄은 나에게'(Set) DayCount.keySet()'문제를 준다. 오류는 배열이나 java.lang.iterable의 인스턴스에 대해서만 반복 할 수 있다고 말한다. –
user2007843