Мне нужно разработать программу, которая принимает произвольный ввод от 0-50 , печатает все входов ОДИН , а затем печатает из вхождения каждого входа.
У меня это работает в некоторой степени, но, когда вход: 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]);
}
}
}
}
Я пробовал несколько способов форматирования циклов, но я не могу понять, как заставить его печатать число, которое вводится несколько раз только один раз.