기본적으로 문자열을 키 (단일 문자) 및 정수 변수 (문자 빈도)로 사용하여 맵을 구현하려고합니다.문자 빈도 계산을위한 맵 구현
프로그램 실행시 부정확 한 주파수가 나옵니다. 내가 잘못 가고있는 사람을 누구나 볼 수 있습니까?
Integer value = 0;
while(scan.hasNext()){
letter = scan.next();
if(wordMap.containsKey(letter)) wordMap.put(letter, value++);
else wordMap.put(letter, new Integer(value++));
}
이지도에 값을 넣어
while(scan.hasNext()){
letter = scan.next();
//get current count
int value;
if(wordMap.containsKey(letter)){
value = wordMap.get(letter);
}else {
value = 0;
}
// increment count
value++;
wordMap.put(letter, value);
}
해야 또는 아무것도 다른, 를 재설정하거나 마술에 속성을 재 동기화하지 않습니다
import java.io.File;
import java.io.FileNotFoundException;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class WordCount {
public static void main(String[] args) throws FileNotFoundException{
File f1 = new File("article.txt");
Scanner scan = new Scanner(f1).useDelimiter("|");
Map<String, Integer> wordMap = new HashMap<String, Integer>();
String letter;
Integer value = 0;
while(scan.hasNext()){
letter = scan.next();
if(wordMap.containsKey(letter)) wordMap.put(letter, value++);
else wordMap.put(letter, new Integer(value++));
}
System.out.println(wordMap);
}
}