The “Guess the Number” game is a fun, interactive Java project—ideal for beginners! It combines key programming concepts like loops, random numbers, conditional logic, user input, and clear feedback. Let’s break down each step so you understand not just the code, but the why behind it.
What Does the Guess the Number Game Do?
- The computer randomly selects a number in a specific range (e.g., 1 to 100).
- The user tries to guess the number.
- After each guess, the program gives hints: “Too high” or “Too low”.
- The game continues until the user guesses correctly, counting the number of attempts.
Step 1: Import Required Classes
You’ll need:
-
Scanner
(for user input) -
Random
(for random number generation)
java
import java.util.Scanner;
import java.util.Random;
Step 2: Main Program Structure
Create a class and the main method, where your program runs.
java
public class GuessTheNumber {
public static void main(String[] args) {
// Game logic goes here
}
}
Step 3: Set Up the Random Number and Variables
- Create a
Random
object to pick a random number in your chosen range. - Store the random number, track the user’s guesses, and count attempts.
java
Random rand = new Random();
int numberToGuess = rand.nextInt(100) + 1; // number between 1 and 100
int guess = 0;
int attempts = 0;
Step 4: Read User Input in a Loop
Use a while
or do-while
loop so the user gets multiple chances. For each attempt:
- Prompt for a guess.
- Increase the attempt count.
- Compare guess to the hidden number, and give a hint.
java
Scanner scanner = new Scanner(System.in);
System.out.println("Welcome to Guess the Number!");
System.out.println("I'm thinking of a number between 1 and 100.");
do {
System.out.print("Enter your guess: ");
guess = scanner.nextInt();
attempts++;
if (guess < numberToGuess) {
System.out.println("Too low, try again.");
} else if (guess > numberToGuess) {
System.out.println("Too high, try again.");
} else {
System.out.println("Congratulations! You guessed the number in " + attempts + " attempts.");
}
} while (guess != numberToGuess);
scanner.close();
Step 5: Complete Code — Guess the Number Game
java
import java.util.Scanner;
import java.util.Random;
public class GuessTheNumber {
public static void main(String[] args) {
Random rand = new Random();
int numberToGuess = rand.nextInt(100) + 1; // 1 to 100 inclusive
int guess = 0;
int attempts = 0;
Scanner scanner = new Scanner(System.in);
System.out.println("Welcome to Guess the Number!");
System.out.println("I'm thinking of a number between 1 and 100.");
do {
System.out.print("Enter your guess: ");
guess = scanner.nextInt();
attempts++;
if (guess < numberToGuess) {
System.out.println("Too low, try again.");
} else if (guess > numberToGuess) {
System.out.println("Too high, try again.");
} else {
System.out.println("Congratulations! You guessed the number in " + attempts + " attempts.");
}
} while (guess != numberToGuess);
scanner.close();
}
}
Key Concepts Practiced in This Project
- Random numbers: Use Random to ensure unpredictability.
- User input: Taking guesses with Scanner.
- Loops: Repeats until the guess is correct.
- Conditional logic: Feedback (“too high”, “too low”, “correct”).
- Attempts counting: Tracking total guesses.
How to Run the Game
1.Copy the code into a file called GuessTheNumber.java
.
2.Compile:
text
javac GuessTheNumber.java
3.Run:
text
java GuessTheNumber
Follow the on-screen prompts and try to guess the number!
Expanding the Project
Want an extra challenge as a beginner?
- Limit the number of guesses (e.g., only 5 tries).
- Let the user choose the number range.
- Ask if the user wants to play again after a game ends.
- Add input validation for non-integer input.
Conclusion
The “Guess the Number” game is a perfect starter Java project. It brings together user input, randomization, control flow, and logic in a simple, fun, and rewarding way. As you experiment and expand on this code, you’ll gain confidence and new skills for your next adventure in Java programming!
Check out the YouTube Playlist for great java developer content for basic to advanced topics.
Please Do Subscribe Our YouTube Channel for clearing programming concept and much more … : CodenCloud