Question
Create an Object and Use It with the Number Guessing Game. In this exercise, youll convert a number guessing game like the one described in
Create an Object and Use It with the Number Guessing Game.
In this exercise, youll convert a number guessing game like the one described in exercise 3-3 so it uses some object-oriented features.
Review the project
1. Start NetBeans and open the project named ch04_ex4_GuessingGame in the extra_ex_starts directory.
2. Run the project and make sure it works correctly. Also, make sure you understand the code in the main method.
Create a class that stores the data for the game
3. In the murach.games package, create a new class named NumberGame.
4. In this class, create one instance variable for storing the upper limit of the number, a second for storing the number, and a third for the number of guesses the user has made.
5. Add a constructor to the class that takes an integer value for the upper limit and uses it to set the upper limit instance variable. Then, generate the number that the user should try to guess and set that instance variable. You can copy and modify the relevant lines of code from the main method to do this. Finally, initialize the instance variable for the number of guesses to 1.
6. Add get methods for all three instance variables. Use your IDE to do this if possible. You dont need to create set methods.
7. Add a method named incrementGuessCount that adds 1 to the instance variable for the number of guesses.
Use the class
8. In the Main class modify the code so it uses the new object. For example, use the getUpperLimit method to display the upper limit to the user. Then, remove any unnecessary code.
9. Run the project again and makes sure it still works correctly.
Add a second constructor and use it
10. In the NumberGame class, add a constructor to the class that takes no arguments. The code for this constructor can call the other constructor in this class and pass it a value of 50 for the upper limit.
11. In the Main class, modify the code so it uses the zero-argument constructor. Then, comment out the statements that get the upper limit from the user. These statements are no longer necessary since the constructor automatically sets the upper limit to 50.
12. Run the project again and makes sure it works correctly. It should set an upper limit of 50 by default.
package murach.games;
import java.util.Random; import java.util.Scanner;
public class Main {
public static void main(String args[]) { System.out.println("Welcome to the Number Guessing Game"); System.out.println();
Scanner sc = new Scanner(System.in);
// Get upper limit System.out.print("Enter the upper limit for the number: "); int upperLimit = Integer.parseInt(sc.nextLine()); System.out.println("OK, I'm thinking of a number between 0 and " + upperLimit); System.out.println(); // Generate a random number between 0 and the upperLimit variable Random random = new Random(); int number = random.nextInt(upperLimit - 1) + 1; int count = 1; System.out.print("Enter your guess: "); int guess = Integer.parseInt(sc.nextLine()); while (guess != number) { if (guess number) { System.out.println("Your guess is too high. "); } count = count + 1; System.out.print("Enter your guess: "); guess = Integer.parseInt(sc.nextLine()); } System.out.println("Correct! "); System.out.println("You guessed the correct number in " + count + " guesses. "); System.out.println("Bye!"); } }
Thanks so much in advance. Need this as soon as possible.
package murach.games import java.util.Random import java.util.Scanner 6 public class Main public static void main (String args[]) i System.out.println("Welcome to the Number Guessing Game") System.out.println ); 10 12 13 14 15 16 17 18 19 20 21 Scanner sc new Scanner (System.in); // Get upper limit System.out.print ("Enter the upper limit for the number: ): int upperLimit = Integer.parseInt(sc.nextLine()); System.out.println("OK, I'm thinking of a number between 0 and "+ upperLimit) System.out.println ) // Generate a random number between O and the upperLimit variable Random random = new Random(); int number = randon.nextInt(upperLimit - 1) + 1; 23 24 25 26 27 28 29 30 int count 1; System.out.print ("Enter your guess: "); int guess Integer.parseInt(sc.nextLine()); while (guess != number) if (guessnumber) System.out.println ("Your guess is too low.In") else if (guess > number) 32 System.out.println ("Your guess is too high.In") count count 1 ; System.out.print ("Enter your guess: "); guess Integer.parseInt(sc.nextLine()); 35 36 37 38 39 System.out.println ("Correct!n") System.out.println("You gessed the correct number in"+ count + System.out.println ("Bye!") "guesses. ")Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started