package numberreader;
import java.util.Scanner;
public class NumberReader {
final static int MIN = 0;
final static int MAX = 50;
final static int NUMBERS = 20;
private static final int[] numberList = new int[NUMBERS];
private static final int[] occurences = new int[MAX + 1];
public static int readInt(int min, int max) {
Scanner input = new Scanner(System.in);
int num;
do {
System.out.print("Enter a number between " + min + " and " + max + ": ");
num = Integer.parseInt(input.nextLine());
if (num < min || num > max) {
System.out.print("Input out of range. ");
}
} while (num < min || num > max);
return num;
}
public static int incrementOccurence(int num) {
return ++occurences[num];
}
public static String occurencesTable() {
String ret = "Inputs Occurences\n";
int rowsPrinted = 0;
for (int number = 0; number < occurences.length; number++) {
if (occurences[number] > 0) {
ret += String.format("%-6d %d\n", number, occurences[number]);
rowsPrinted++;
}
}
if (rowsPrinted == 0) {
ret = "No numbers have been entered yet!\n";
}
return ret;
}
public static void main(String[] args) {
int currentNumber;
for (int i = 0; i < NUMBERS; i++) {
currentNumber = readInt(MIN, MAX);
numberList[i] = currentNumber;
incrementOccurence(currentNumber);
}
System.out.println(occurencesTable());
}
}
Comments