【发布时间】:2018-12-17 00:31:45
【问题描述】:
我必须设计一个程序,接受 0-50 的任意输入,打印所有 输入 ONCE,然后 打印每个输入的出现次数。
我在某种程度上可以正常工作,但是,当输入是: 1 , 2 , 3 , 3 , 3 , 6 , 9 , 0 , 0
打印出来:
输入:发生次数
Number Times
1 1
2 1
3 1
3 2
3 3
6 1
9 1
0 1
0 1
代替:
输入:发生次数
Number Times
0 2
1 1
2 1
3 3
6 1
9 1
这是一门初学者课程,我在网上看到的大多数解决方案似乎都是使用某种我尚未学过的映射技术进行的高级解决方案。
public static void main(String [] args)
{
int[] array = new int[51];
Scanner scan = new Scanner(System.in);
System.out.println("Number \t Times");
while (scan.hasNext()){
int x = scan.nextInt();
if (x>=0 && x<=50){
array[x]++;
System.out.println(x + "\t " + array[x]);
}
}
}
}
我尝试了多种格式化循环的方法,但我似乎不知道如何让它打印一个多次输入的数字。
【问题讨论】:
-
以及基本上有两部分数据很重要[数字和计数],那么您将需要使用
map来使用数组(或列表)包含数字和count的类
标签: java arrays logic system.printing