我已經實現代碼來計算數字: - 字符 - 字 - 行 - 字節 在文本文件中。 但是如何統計字典大小:這個文件中使用的不同單詞的數量? 另外,如何實現只能遍歷字母的迭代器? (忽略空格)如何計算文本文件中的唯一字?
public class wc {
public static void main(String[] args) throws IOException {
//counters
int charsCount = 0;
int wordsCount = 0;
int linesCount = 0;
Scanner in = null;
File file = new File("Sample.txt");
try(Scanner scanner = new Scanner(new BufferedReader(new FileReader(file)))){
while (scanner.hasNextLine()) {
String tmpStr = scanner.nextLine();
if (!tmpStr.equalsIgnoreCase("")) {
String replaceAll = tmpStr.replaceAll("\\s+", "");
charsCount += replaceAll.length();
wordsCount += tmpStr.split("\\s+").length;
}
++linesCount;
}
System.out.println("# of chars: " + charsCount);
System.out.println("# of words: " + wordsCount);
System.out.println("# of lines: " + linesCount);
System.out.println("# of bytes: " + file.length());
}
}
}
將每個單詞添加到'Set'中,並獲取其大小? – Asew
@ user7294900,但通過使用boolean containsValue(Object value)方法或boolean containsKey(Object key)? – JeyKey
@Asew,所以我不必檢查是否已經有這樣的詞?我知道Set沒有重複,但是隻要執行add()方法就會在這裏添加一個char,如果沒有這樣的單詞,並且如果有的話不會這樣做? – JeyKey