import java.util.*;
/**
* 练习16: 创建一个元音字母Set。对UniqueWords.java操作,计数并显示每一个输入单词中的元音字母数量,并显示输入文件中的所有元音字母的数量总和。
*/
public class Exercise16 {
public static void main(String[] args) {
Set<Character> vowelWord = new HashSet<Character>(Arrays.asList('a', 'e', 'i', 'o', 'u'));
Set<String> words = new TreeSet<String>(String.CASE_INSENSITIVE_ORDER);
words.addAll(new TextFile("/Users/liran/Project/demo/src/main/java/com/example/demo/elevensection/UniqueWords.java", "\\W+"));
Iterator<String> it = words.iterator();
int totalNum = 0;
while (it.hasNext()) {
String word = it.next().toLowerCase(Locale.ROOT);
int num = 0;
for (int i = 0; i < word.length(); i++) {
if (vowelWord.contains(word.charAt(i))) {
num++;
}
}
System.out.print(word + " : " + num + " ");
totalNum += num;
}
System.out.println();
System.out.println("totalNum : " + totalNum);
}
}
/* Output:
addall : 2 args : 1 case_insensitive_order : 9 class : 1 com : 1 demo : 2 elevensection : 6 example : 3 import : 2 java : 2 liran : 2 main : 2 new : 1 out : 2 package : 3 println : 1 project : 2 public : 2 set : 1 setoperations : 6 src : 0 static : 2 string : 1 system : 1 textfile : 3 treeset : 3 uniquewords : 5 users : 2 util : 2 void : 2 w : 0 words : 1
totalNum : 73
*///:~