如何在数组中找到最常见的字符?

时间:2016-02-21 17:16:35

标签: java arrays for-loop if-statement

所以,我需要编写一个代码,用于打印数组中最常用的字符。如果有,只有一个然后只打印该字符,如果有2然后打印两者,如果没有,则打印没有数字丢失。我有它找到最单一的频繁值,但如果有多个频繁的字符,我无法弄清楚如何打印它。

public class ArrayOfNumbers {

    public static void main (String []args) {
        int [] array = {2,3,5,1,2,3};
        int n = 6;
        System.out.println(findMostFrequent);
    }

    public static int findMostFrequent(n, array) {
        int counter = 1;
        int tempCounter;
        int mostFrequent = array{0};
        int temp = 0;
        for (int i = 0; i < array.length - 1; i++) {
            temp = a{1};
            tempCounter = 0;
            for (int j = 1; j < array.length; j++) {
                if (temp == a[j]){
                tempCount++
            }
            if (tempCounter > counter){
                mostFrequent = temp;
                counter = tempCounter;
            }
        }
        return mostFrequent;
    }
  }
}

1 个答案:

答案 0 :(得分:1)

你的代码有很多错误!

  • 获取数组的第n项不是a{1},而是a[0]
  • 将此值解析为int而不是int[](它是单个值)
  • 此调用错误System.out.println(findMostFrequent);。缺少参数
  • 尚未在findMostFrequent方法中初始化变量tempCount
  • 根本不需要长度变量int n。您可以通过array.length获得数组大小。

  • Java - Find the most popular element in int[] array

  • 复制不当