[英]Java: Count number of letters in text file
如何計算每個字母的總數? 我想我可以使用StringUtils.countMatches
但是我不確定如何使用它。
另外,我是否需要在字符之間放置空格,以便我的程序可以對它們進行計數? 如果是這樣,這就是我所擁有的,將無法使用:
添加空格的代碼:
char ch;
ch = next().CharAt(0);
switch (ch) {
case 'A': System.out.print ("A ");
break;
case 'B': System.out.print ("B ");
break;
case 'C': System.out.print ( "C ");
break;
}
非常感謝!!
最好的通用方法(我讓您確定確切的代碼)是維護一個數組,該數組存儲每個字符的計數。 Java中的char
是16位無符號整數,這意味着您可以聲明
int[] counts = new int[65536];
然后,當您想要注冊字符c
的出現時,可以
counts[(int) c]++;
為了獲得單個字符,您可以逐行讀取文件,然后遍歷代表每一行的String
並進行處理:
for (int i=0; i<line.length(); i++) {
counts[(int) line.getCharAt(i)]++;
}
然后最后,您可以讀取數組以確定每個字符出現了多少次。
從技術上講,您無需理會(int)
類型轉換,您只需編寫
count[line.getCharAt(i)]++;
但是如果您明確進行轉換,可能會更清楚發生了什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.