import javax.swing.*; public class GuessNumberHint { int guessVeryNice = 0; int numAttempts = 0; public GuessNumberHint() { // Reading difficulty level String difficultyStr = JOptionPane.showInputDialog(null, "Enter a difficulty level"); int difficulty = Integer.parseInt(difficultyStr); // Generate the random value int correctValue = (int)(Math.random() * difficulty) + 1; // Loop asking user for values doUserGuess(difficulty, correctValue); // Report attempts and correct value displayReport(correctValue); } private void displayReport(int correctValue) { String finalMessage; if (guessVeryNice == correctValue) { finalMessage = "You guessed the value! (" + correctValue + ")"; } else { finalMessage = "You did not guess the value (" + correctValue + ")"; } finalMessage += "\nNumber of Attempts: " + numAttempts; JOptionPane.showMessageDialog(null, finalMessage, "Final Report", JOptionPane.INFORMATION_MESSAGE); } public void doUserGuess(int difficulty, int correctValue) { String guessStr = null; String enterValueStr = "Enter a value between 1 and " + difficulty + " (0 to quit)"; // keep track of values entered by user boolean[] valueGuessed = new boolean[difficulty + 1]; for (int i=0; i