我刚刚开始学习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");
}
}
}
答案 0 :(得分:1)
您正在检查错误的输入,并且最重要的是您正在错误地循环。它甚至编译?将其更改为
for (int x: storage) {
if (x == frequency) counter++;
}
除此之外 - 数组从零索引开始。您正在通过设置i = 1
来跳过第一个条目。