簡體   English   中英

Java:計算文本文件中的字母數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM