public static Number randomNumber() { int numLength = GameConfiguration.numberLength(); int minNumber = GameConfiguration.minNumber(); int maxNumber = GameConfiguration.maxNumber(); List<Integer> guessList = new ArrayList<Integer>(); Integer[] guessArray = new Integer[numLength]; while (guessList.size() < numLength) { int randomInt = r.nextInt(maxNumber - minNumber + 1); if (!guessList.contains(Integer.valueOf((int) randomInt))) { guessList.add((int) randomInt); } } try { return new Number(Arrays.asList(guessList.toArray(guessArray))); } catch (GameException e) { return null; } }