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()); } }