如何根据用户输入计算数组中每个数字的频率

时间:2018-02-13 13:16:55

标签: java arrays

我刚刚开始学习java,并希望我可以获得一些逻辑问题的帮助。我的目标是让用户在数组中输入多个数字。然后,我请求用户从他们的初始输入中插入数字,并打印该数字与第一次输入相比的频率。我已经搜索了一段时间,所有的解释都超出了我的水平,所以如果有人可以将解释减少到一个很好的虚拟水平。

public class numberCounting {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int[] storage = new int[100];
        int counter = 0;

        System.out.println("How many total enteries?");
        int total = input.nextInt();
        for (int i = 1; i <= total; i++) {
            System.out.println("Enter the " + i + " number");
            int entry = input.nextInt();
            storage[i] = entry;

        }
        System.out.println("what number do you want to count the frequency of?: ");
        int frequency = input.nextInt();
        for (int x : frequency) {
            if (x == x) {
                counter++;
            }
            System.out.println("There are " + counter + "repeats of your number");

        }

    }

}

1 个答案:

答案 0 :(得分:1)

您正在检查错误的输入,并且最重要的是您正在错误地循环。它甚至编译?将其更改为

for (int x: storage) {
    if (x == frequency) counter++;
}

除此之外 - 数组从零索引开始。您正在通过设置i = 1来跳过第一个条目。