我有这个程序接受用户输入并显示输入每个整数的次数。我几乎把它拍下来了,但需要另一个循环来省略显示的 0 的出现。换句话说,无法读取其中包含 0 的任何数字,也出于某种原因,我从我的程序中的相同数字获得两个输出。例如,如果我输入 3,3
,我将得到 3 occurs 1 time
和 3 occurs 2 times
作为输出。 2 次正确,第 1 次错误。
public class Six_Three {
public static void main(String[] args) {
Scanner input = new Scanner (System.in);
System.out.print("enter integers between 1 and 100: ");
int[] num = new int[100];
int data = input.nextInt();
while ((data = input.nextInt()) != 0) {
num[data]++;
}
for (int i = 1; i < 100; ++i) {
if (num[i] > 0)
System.out.println(i + " occurs " + num[i] + " times ");
}
}
最佳答案
您需要两个独立的循环:第一个循环收集信息,第二个循环打印结果:
int data = 0;
while ((data = input.nextInt()) != 0)
{
num[data]++;
}
for (int i = 0; i < 100; ++i)
{
if (num[i] != 0) { /* print num[i] */ }
}
关于java - 需要数组 java 帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7382139/