【发布时间】:2017-04-14 21:10:49
【问题描述】:
我认为我唯一的问题是 displayCounts 方法。我试图让计数数组仅在计数 > 0 时显示计数。计数 > 1 也是如此。所以输入将类似于:2 5 6 5 4 3 4 0。(0 将结束输入)输出将如下所示: - 2 发生 1 次 - 3 次出现 1 次 - 4 出现 2 次 - 5 出现 2 次 - 6 发生 1 次。
public class CountNumbersInArray {
public static void main(String[] args) {
java.util.Scanner input = new java.util.Scanner(System.in);
System.out.print("Enter the integers between 1 and 100: ");
int[] counts = new int[101];
int i = 0;
while (i < counts.length) {
counts[i] = input.nextInt();
i++;
}
displayCounts(counts);
}
public static void displayCounts(int[] counts) {
int i = 0;
i++;
if (counts.length > 0) {
System.out.println(counts[i] + " occurs " + i + " time");
}
if (counts.length > 1) {
System.out.println(counts[i] + " occurs " + i + " times");
}
}
}
【问题讨论】:
-
试试这样:在输入的位置增加数组的int,这样你就可以计算一个数字被输入的频率,然后调用一个输出方法,它打印一行,如果索引 i 处的值大于 0。
标签: java arrays if-statement while-loop