# Thinking | Computer Science homework help

“Critical Thinking Assignment #4:
Java Program #4 of 6
Using Arrays with Sorting and Searching Algorithms”

2. Critical Thinking Assignment #5: Java Program #5
Using Inheritance

3. Program #6 Java Interactive GUI Application for Number Guessing Game.

ITS/320

1. Critical Thinking Assignment #4:

Java Program #4 of 6 (70 Points)
Using Arrays with Sorting and Searching Algorithms
(based on Module 4 material)
1) This program has six required outputs and involves searching and sorting an array of integers.
Write a Java application that initializes an array with the following numbers, in this order:
23, 17, 5, 90, 12, 44, 38, 84, 77, 3, 66, 55, 1, 19, 37, 88, 8, 97, 25, 50, 75, 61, and 49
Then display the unsorted values. This is required output #1 of 6 for this program.
Using a sequential search of the unsorted array, determine and report the 1-relative (i.e. 1, 2, 3, 4, etc.) positions of the following numbers in the array (or -1 if not found), and the number of searches required to locate the numbers: 25, 30, 50, 75, and 92. This is required output #2 of 6.
Then display the total number of searches for all five numbers. This is required output #3 of 6.
Sort the numbers using any algorithm of your choice and then display the sorted array. This is required output #4 of 6.
Using a binary search of the sorted array, determine and report the 1-relative positions of the following numbers in the array (or -1 if not found), and the number of searches required to locate the numbers: 25, 30, 50, 75, and 92. This is required output #5 of 6.
Finally, display the total number of searches for all five numbers. This is required output #6 of 6.
(There are six required sets of output as numbered in the above paragraphs.)
Try to create an object-oriented solution for your solution vs. a procedural one. For example, you might have a class that stores an array passed by a driver class, with methods for sorting the array, searching the array via a sequential search, searching the array via a binary search, and output the current contents of the array. The driver class could not only pass in the initial array values but call various methods to perform the searches, sorting, and array contents display. You may use any output type class you want (e.g. Scanner, JOptionPane).
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.
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 outputs for the specified values in Step #1. For this
program there are 6 (six) total sets of item(s) to be output. Failure to show any of them will result
in lost points. In order not to confuse the grading process, and possible lose points, do not include
any other outputs besides these six items.
3) Your instructor may compile and run your program to verify its correctness.
4) You will be evaluated on (in order of importance):
a) Following directions and inclusion and packaging of all deliverables in Step #2.
b) Correct execution of your program (this includes proper compilation). This also includes getting
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 #2 in the correct
order).

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.

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 outputs for the specified values in Step #1. Failure to show any of them will result in lost points.

3) Your instructor may compile and run your program to verify its correctness.

4) You will be evaluated on (in order of importance):

a) Following directions and inclusion and packaging of all deliverables in Step #2.

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 #2 in the correct order).

ITS 320

3. 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?

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 each guess.

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.