1) Develop a Java application that plays a "guess the number" game as described below.

a) The user interface is displayed and the user clicks the “Start Game” button to begin the game.

b) Your application then gets a random number in the range 1-1000 inclusive (you might want to use Math.random or the Random class).

c) The application then displays the following prompt (probably via a JLabel):

I have a number between 1 and 1000 can you guess my number?
Please enter a number for your first guess and then hit Enter.

Post a textbox for the user to enter a number and post a message telling the user to hit 'Enter' after entering a guess in a textbox (probably using a JTextField).

d) Input the user's guess in the code for a previously-registered event-handler method (consider using the event-handling approach discussed in the text, or the actionPerformed method of class based on the ActionListener interface, which will require some additional research outside the text).

e) For the first guess color the entire background red, meaning that they are getting warmer (you might want to use the setBackground method for a container). If this is the second or later guess, and they are further from the correct number than the last guess, then color the entire background blue. If they get the correct number then color the background green.

f) If the user guessed the number correctly, respond with their number, post a congratulatory message, get a new random number, and display a JButton to start a new game. Otherwise, to help the user close in on the correct number, post a message, with their guessed number, whether they are "TOO HIGH" or "TOO LOW" from the correct number, and whether they are "WARMER" or "COLDER" (this should match the background color). Also report the guess number of the next guess (e.g. "Enter guess number nnn"). You might want to use a concatenated string in JLabel for these incorrect guess messages.

g) The process is repeated each game until the user guesses the correct number. Be sure that you erase obsolete status messages.

To help you visualize what is required for this program please review the sample output from the last step in these specifications below.

2) You may use the Windows Command Prompt command line interface or any Java IDE you choose to compile and execute your program.

3) You are to submit the following deliverables in a single Microsoft Word file:

a) A screen snapshot of your Java source code (just the beginning is OK) as it appears in your IDE (e.g. Net Beans, Eclipse, etc.) or editor (e.g. a Windows Command Prompt DOS "more" of the .java file's first screen).

b) A listing of your entire Java source code in the same Microsoft Word file as item a), and following item a). You can simply copy and paste the text from your IDE into Word. Be sure to maintain proper code alignment by using Courier font for this item.

c) A screen snapshot of your program’s execution output in the same Microsoft Word file, and following item b). You must show all user inputs and all program output responses for the complete scenario, not just a sample. Failure to show all inputs and outputs will result in lost points.

4) Your instructor may compile and run your program to verify that it compiles and executes properly.

5) You will be evaluated on (in order of importance):
a) Inclusion of all deliverables in Step #3.
b) Correct execution of your program. This includes meeting all of the requirements in Step #1, including screen snapshots of all user inputs and all program outputs.
c) Adequate commenting of your code.
d) Good programming style (as specified in the textbook's examples).
e) Neatness in packaging and labeling of your deliverables.

6) Programs received after the due date/time will receive a score of zero since there are already 15 extra points built into the grading for this class.

Solution PreviewSolution Preview

These solutions may offer step-by-step problem-solving explanations or good writing examples that include modern styles of formatting and construction of bibliographies out of text citations and references. Students may use these solutions for personal skill-building and practice. Unethical use is strictly forbidden.

import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Program5 extends JFrame implements ActionListener{

    private final int WINDOW_WIDTH = 450; // Window width
    private final int WINDOW_HEIGHT = 130; // Window height
    private JButton start;
    private JTextField input;
    private JLabel message1;
    private JLabel message2;
    private int guessCounter;
    private int secretNumber;
    private int previousGuess;
    private boolean ended;
    private JPanel top;
    public Program5(){
       setTitle("Program #5 - Number Guessing Program");      
       // Set the size of the window.
       // Specify an action for the close button.
       // init all variable
       guessCounter = 1;
       secretNumber = (int) (Math.random() * 1000 + 1);
       previousGuess = Integer.MAX_VALUE / 2;
       ended = false;...

By purchasing this solution you'll be able to access the following files: and Solution.docx.

for this solution

or FREE if you
register a new account!

PayPal, G Pay, ApplePay, Amazon Pay, and all major credit cards accepted.

Find A Tutor

View available Java Programming Tutors

Get College Homework Help.

Are you sure you don't want to upload any files?

Fast tutor response requires as much info as possible.

Upload a file
Continue without uploading

We couldn't find that subject.
Please select the best match from the list below.

We'll send you an email right away. If it's not in your inbox, check your spam folder.

  • 1
  • 2
  • 3
Live Chats