Course Content
Introduction
0/11
Flow Control
0/11
Array
0/5
Strings
0/5
Methods
0/5
Project
0/3
Learn Java Basics
About Lesson

Build a program that generates a random number between 1 and 100, and prompts the user to guess the number. The program should provide feedback on whether the guess is too high or too low.

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
int randomNumber = (int) (Math.random() * 100) + 1;
boolean hasWon = false;
System.out.println("I'm thinking of a number between 1 and 100. Can you guess it?");

Scanner scanner = new Scanner(System.in);
for (int i = 10; i > 0; i--) {
System.out.println("You have " + i + " guess(es) left. Guess the number:");
int guess = scanner.nextInt();

if (guess == randomNumber) {
hasWon = true;
break;
} else if (guess < randomNumber) {
System.out.println("Too low!");
} else {
System.out.println("Too high!");
}
}

if (hasWon) {
System.out.println("Congratulations, you guessed the number!");
} else {
System.out.println("Game over. The number was " + randomNumber);
}
}
}

Output:

I'm thinking of a number between 1 and 100. Can you guess it?
You have 10 guess(es) left. Guess the number:
50
Too low!
You have 9 guess(es) left. Guess the number:
90
Too high!
You have 8 guess(es) left. Guess the number:
75
Too high!
You have 7 guess(es) left. Guess the number:
60
Too low!
You have 6 guess(es) left. Guess the number:
70
Too high!
You have 5 guess(es) left. Guess the number:
65
Too low!
You have 4 guess(es) left. Guess the number:
68
Too high!
You have 3 guess(es) left. Guess the number:
66
Too low!
You have 2 guess(es) left. Guess the number:
67
Congratulations, you guessed the number!

### Explanation

Here is an explanation of each token in the provided code:

import java.util.Scanner; – This line imports the Scanner class from the java.util package, which is used to read user input.

public class Main { – This line declares a new class called Main.

public static void main(String[] args) { – This line declares the main method, which is the entry point for the program.

int randomNumber = (int) (Math.random() * 100) + 1; – This line generates a random integer between 1 and 100 and assigns it to the randomNumber variable.

boolean hasWon = false; – This line declares a boolean variable called hasWon and initializes it to false.

System.out.println("I'm thinking of a number between 1 and 100. Can you guess it?"); – This line prints a message to the console.

Scanner scanner = new Scanner(System.in); – This line creates a new Scanner object that reads input from the standard input stream (i.e., the console).

for (int i = 10; i > 0; i--) { – This line declares a for loop that runs 10 times.

System.out.println("You have " + i + " guess(es) left. Guess the number:"); – This line prints a message to the console that tells the user how many guesses they have left.

int guess = scanner.nextInt(); – This line reads an integer from the console and assigns it to the guess variable.

if (guess == randomNumber) { – This line begins an if statement that checks if the user’s guess is equal to the random number.

hasWon = true; – This line sets the hasWon variable to true.

break; – This line breaks out of the for loop.

} else if (guess < randomNumber) { – This line begins an else if statement that checks if the user’s guess is less than the random number.

System.out.println("Too low!"); – This line prints a message to the console.

} else { – This line begins an else statement that executes if none of the previous conditions are true.

System.out.println("Too high!"); – This line prints a message to the console.

} – This line ends the if statement.

} – This line ends the for loop.

if (hasWon) { – This line begins an if statement that checks if the user has won the game.

System.out.println("Congratulations, you guessed the number!"); – This line prints a message to the console.

} else { – This line begins an else statement that executes if the user has lost the game.

System.out.println("Game over. The number was " + randomNumber); – This line prints a message to the console that reveals the random number.

} – This line ends the if statement.

I hope that helps! Let me know if you have any further questions.

Join the conversation