Java:查找最多出现的字母数

时间:2014-12-09 02:47:05

标签: java letter

我是Java的新手,所以如果你能为我保持基本的东西会很棒。

我已经计算了字母表中每个字母的出现次数。我想找到发生次数最多的那封信。

{代码计算每个字母的出现次数}

      aCounter/=letterCounter; 
      bCounter/=letterCounter;
      cCounter/=letterCounter;
      dCounter/=letterCounter; 

      double largest = aCounter;
      char character = 'A';
      if  (bCounter > largest)
            largest = bCounter;
            character = 'B';
      if  (cCounter > largest)
            largest = cCounter;
            character = 'C';
      if  (dCounter > largest )
            largest = dCounter;
            character = 'D'

      System.out.printf ("%c %.2f",character, largest);  

此代码现在只是打印D.

谢谢大家的帮助!!

2 个答案:

答案 0 :(得分:1)

你缺少大括号:

    if  (bCounter > largest) {
        largest = bCounter;
        character = 'B';
    }
    if  (cCounter > largest) {
        largest = cCounter;
        character = 'C';
    }
    if  (dCounter > largest ) {
        largest = dCounter;
        character = 'D';
    }

你的character = ...语句不是if条件的一部分,所以它们总是被执行,因为character = 'D';是最后一个,那就是打印的字符。

答案 1 :(得分:0)

if  (dCounter > largest )
        largest = dCounter;
        character = 'D';

你需要在这里有括号:

if  (dCounter > largest ){
        largest = dCounter;
        character = 'D';
}

否则它会解析为

if  (dCounter > largest )
        largest = dCounter;
character = 'D';

为自己省去了很多麻烦,并使用带代码格式的IDE。自动缩进会很快显现出来。