Critical Thinking Assignment #6:
Java Program #6 of 6 (70 Points)
Java Interactive GUI Application for Number Guessing with Colored Hints
(based on Module 7 material)
1) Develop a Java application that plays a “guess the number” game as described below.
a) Your application first gets a random number in the range 1-1000 inclusive (you
might want to use Math.random() or the Random class).
b) 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 your first guess.
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).
c) 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).
d) 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 some other color than red or blue.
e) 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.
f) The process is repeated each game until the user guesses the correct number. Be
sure that you erase obsolete status messages.
You must run your program for a scenario where the number is not guessed
correctly for at least 4 (four) tries (it can be more). A game where you guess the
correct number on the fourth try is acceptable. You must show all user inputs and
program outputs for this scenario, not just a sample.
Your submitted output must include the appropriate red or blue background after
You must include at least one “warmer” and one “cooler” result.
To help you visualize what is required for this program please review the sample
output from the last step in these specifications below.
(This program was taken from Exercise 11.15 on page 592 of Deitel & Deitel’s “Java
How to Program (Sixth Edition)” (2005 by Pearson Publishing Co.))
Be sure that you include the course, the program number, your name, and the date in your
program header. Include additional comments as necessary and maintain consistent
indentation for good programming style as shown in the text. Be sure that you capture all
of your output for this program’s execution for full credit!
2) You may use any Java Integrated Development Environment (IDE) you choose to
develop your source code, compile and link your code, and execute your program
(jGRASP is recommended). Or you may use the Windows Command Prompt.
3) You are to submit the following deliverables in a single Microsoft Word file in this order,
and clearly labeled.
a) A screen snapshot of your Java source code (all file(s) shown separately)
displayed in the IDE or Windows editor showing a successful compilation if
possible (only the beginning of the source file(s) are necessary).
b) A listing of your entire source code file(s).
c) A screen snapshot of all of your program’s inputs and outputs for a complete
number guessing game. Partial screen snapshots from a game will result in lost
4) Your instructor may compile and run your program to verify its correctness.
5) You will be evaluated on (in order of importance):
a) Following directions and inclusion and packaging of all deliverables in Step #3.
b) Correct execution of your program (this includes proper compilation). This also
includes getting the correct answers!
c) Proper commenting of your Java code and indentation (as specified in the text).
d) Neatness in packaging of your deliverables (to include putting the items in Step
#3 in the correct order).
6) Here’s an example of what the output from your application might look like: