
Explanation of Solution
a.
Method heading for each method:
- The method heading is “public void makeGuess(character c)” that takes a parameter “c” of character type and return nothing.
- The method heading is “public String getDisguisedWord()” that takes no parameters and returns the string which contains the disguised word...
Explanation of Solution
b.
Preconditions and postconditions of each method:
- Precondition and postcondition of “public void makeGuess(character c)” method.
- Precondition: checks whether the character value is one of 26 alpha characters which present in secrete word or not.
- Postcondition: update the number of guesses, incorrect guesses, and disguised word.
- Precondition and postcondition of “public String getDisguisedWord()” method.
- Precondition: None.
- Postcondition: This method returns disguised string.
- Precondition and postcondition of “public String getSecretWord()” method...
Explanation of Solution
c.
Test class for some Java statement:
//Create an object for Hangman class
Hangman game = new Hangman();
//Call initialize() method to set the secret word
game.initialize("Happiness");
//Call playGame() method to play the game
System.out.println("Lets play a round of hangman...
Explanation of Solution
d.
Implementation of class:
Hangman.java:
//Import the java package
import java.util.Scanner;
//Define the class
public class Hangman
{
//Declare the required variables
private String secretWord;
private String disguisedWord;
private String lettersRemaining;
private int guessesMade;
private int incorrectGuesses;
//Define the makeGuess() method
public void makeGuess(Character c)
{
//Check whether character is letter
if (Character.isLetter(c))
{
//Declare and assign the variable
String guess = "" + c;
//Convert the guess to lower case
guess = guess.toLowerCase();
//Declare and initialize the letter position
int letterPosition = lettersRemaining.indexOf(guess);
boolean goodGuess = letterPosition > -1;
/*Loop executes until the position is greater than "-1". */
while (letterPosition > -1)
{
/*Declare and assign the before letter variable. */
String before = lettersRemaining.substring(0, letterPosition);
/*Declare and assign the after letter variable. */
String after = lettersRemaining.substring(letterPosition + 1);
//Set the letter remaining
lettersRemaining = before + "#" + after;
//Set the disguised waord
before = disguisedWord.substring(0, letterPosition);
after = disguisedWord.substring(letterPosition + 1);
disguisedWord = before + guess + after;
//Set the word position
letterPosition = lettersRemaining...
Explanation of Solution
e.
List of extra methods and attributes needed for this implementation:
There is no extra attributes are needed for this implementation.
The extra methods that were used apart from the mentioned methods are,
- public void initialize() method:
- This method is used to initialize the declared variables...
Explanation of Solution
f.
Implementation of class:
Hangman.java:
//Import the java package
import java.util.Scanner;
//Define the class
public class Hangman
{
//Declare the required variables
private String secretWord;
private String disguisedWord;
private String lettersRemaining;
private int guessesMade;
private int incorrectGuesses;
//Define the initialize() method
public void initialize(String word)
{
//Initialize the declared variables
secretWord = word.toLowerCase().trim();
lettersRemaining = secretWord;
disguisedWord = createDisguisedWord(secretWord);
guessesMade = 0;
incorrectGuesses = 0;
}
//Define the createDisguisedWord() method
public String createDisguisedWord(String word)
{
//Convert the secret word into lower case word
word = word.toLowerCase();
/*Call replace() method to replace the "?" with suitable letter. */
word = word.replace('a', '?');
word = word.replace('b', '?');
word = word.replace('c', '?');
word = word.replace('d', '?');
word = word.replace('e', '?');
word = word.replace('f', '?');
word = word.replace('g', '?');
word = word.replace('h', '?');
word = word.replace('i', '?');
word = word.replace('j', '?');
word = word.replace('k', '?');
word = word.replace('l', '?');
word = word.replace('m', '?');
word = word.replace('n', '?');
word = word.replace('o', '?');
word = word.replace('p', '?');
word = word.replace('q', '?');
word = word.replace('r', '?');
word = word.replace('s', '?');
word = word.replace('t', '?');
word = word.replace('u', '?');
word = word.replace('v', '?');
word = word.replace('w', '?');
word = word.replace('x', '?');
word = word.replace('y', '?');
word = word.replace('z', '?');
//Return the secret word
return word;
}
//Define the makeGuess() method
public void makeGuess(Character c)
{
//Check whether character is letter
if (Character.isLetter(c))
{
//Declare and assign the variable
String guess = "" + c;
//Convert the guess to lower case
guess = guess.toLowerCase();
//Declare and initialize the letter position
int letterPosition = lettersRemaining.indexOf(guess);
boolean goodGuess = letterPosition > -1;
/*Loop executes until the position is greater than "-1". */
while (letterPosition > -1)
{
/*Declare and assign the before letter variable. */
String before = lettersRemaining.substring(0, letterPosition);
/*Declare and assign the after letter variable. */
String after = lettersRemaining.substring(letterPosition + 1);
//Set the letter remaining
lettersRemaining = before + "#" + after;
//Set the disguised waord
before = disguisedWord.substring(0, letterPosition);
after = disguisedWord.substring(letterPosition + 1);
disguisedWord = before + guess + after;
//Set the word position
letterPosition = lettersRemaining.indexOf(guess);
}
//Increment the guess count by "1"
guessesMade++;
//Check whether the Guess is not valid
if (!goodGuess)
//Increment the incorrect guess by "1"
incorrectGuesses++;
}
//Otherwise, display the error message
else
System...
Want to see the full answer?
Check out a sample textbook solution
Chapter 5 Solutions
Java: An Introduction to Problem Solving and Programming (8th Edition)
Additional Engineering Textbook Solutions
Starting Out With Visual Basic (8th Edition)
Modern Database Management
Degarmo's Materials And Processes In Manufacturing
Elementary Surveying: An Introduction To Geomatics (15th Edition)
Thinking Like an Engineer: An Active Learning Approach (4th Edition)
Concepts Of Programming Languages
- No AI solutions pleasearrow_forwardNo AI solutions pleasearrow_forwardCreate an original network topology consisting of at least seven routers and twelve links, assigning arbitrary positive weights to each link. Using this topology, apply Dijkstra's Link-State Algorithm to compute the shortest paths from a source router of your choice to all other routers in the network. Your topology must be entirely your own design and should not resemble any examples from the textbook, lecture slides, or other students' work. Al-generated topologies are not permitted. Create a PowerPoint presentation that follows the format and style of slides 11 to 23 from Lecture Slide Set 06 (LS06). You should copy those slides and make any necessary changes, additions, or deletions to reflect your own topology, shortest-path calculations, and update tables. Do not alter the original slide style, layout, or formatting.arrow_forward
- Create an original network topology consisting of at least seven routers and twelve links, assigning arbitrary positive weights to each link. Using this topology, apply Dijkstra's Link-State Algorithm to compute the shortest paths from a source router of your choice to all other routers in the network. Your topology must be entirely your own design and should not resemble any examples from the textbook, lecture slides, or other students' work. Al-generated topologies are not permitted. Createarrow_forwardx3003 x3008 1110 0000 0000 1100 1110 0010 0001 0000 0101 0100 1010 0000 x3004 0010 0100 0001 0011 x3005 0110 0110 0000 0000 X3006 0110 1000 0100 0000 x3007 0001 0110 1100 0100 0111 0110 0000 What does the following LC-3 program do? Trace Step by Step, SHOW ALL YOUR WORK. x3001 x3002 0000 x3009 0001 0000 0010 0001 X300A 0001 0010 0110 0001 x300B 0001 0100 1011 1111 x300C 0000 0011 1111 1000 X300D 1111 0000 0010 0101 x300E 0000 0000 0000 0101 x300F 0000 0000 0000 0100 x3010 0000 0000 0000 0011 x3011 0000 0000 0000 0110 x3012 0000 0000 0000 0010 x3013 x3014 0000 0000 0000 0000 0000 0100 0000 0111 x3015 0000 0000 0000 0110 x3016 0000 0000 0000 1000 x3017 0000 0000 0000 0111 x3018 0000 0000 0000 0101arrow_forward2) Assume a local area network has four host computers (h1, h2, h3 & h4) and they are connected to the internet through a NAT router (s1). The host computers use private IP address space: 192.168.2/24. Each host is trying to establish 2 TCP connections to a remote webserver through the NAT router. The IP address of the webserver is: 130.12.11.9. Now do the following: 1 a. Assign IP addresses to the interfaces of the hosts and the router. For the router, assign arbitrary addresses. List these addresses. b. Now create a NAT translation table as taught in the class for all TCP connections. Assign arbitrary port numbers as required.arrow_forward
- 1) Consider the following network. Host h6 10.3.0.6 Host h5 10.3.0.5 Host h1 10.1.0.1 OpenFlow controller m 2 3 4 Host h4 10.2.0.4 Host h2 10.1.0.2 Host h3 10.2.0.3 The desired forwarding behavior for the datagrams arriving at s2 is as follows: a) any datagrams arriving on input port 1 from hosts h5 or h6 that are destined to hosts h1 or h2 should be forwarded over output port 2; b) any datagrams arriving on input port 2 from hosts h1 or h2 that are destined to hosts h5 or h6 should be forwarded over output port 1; c) any arriving datagrams on input ports 1 or 2 and destined to hosts h3 or h4 should be delivered to the host specified; d) hosts h3 and h4 should be able to send datagrams to each other. Create a flow table for s2 that implement these forwarding behaviors. Your table should have 2 columns one for match and the other for actions, as taught in the class.arrow_forwardBased on the last digit of your Kean ID: Create an LC-3 program that compares 3 personally assigned to you numbers stored in memory and finds the maximum of them. Compile and run on https://wchargin.com/lc3web/. Screenshot and explain your result. ID 0 A 7 B с -3 12 1 0 5 -1 Expected max 12 5 2 -8 -2 6 9 My Kean ID: 1233321 3 14 3 6 14 4 -5 -6 -1 -1 сл 5 10 0 4 10 6 2 11 1 11 7 -9 7 -4 7 8 00 66 00 8 5 13 13 9 -2 3 0 3arrow_forward8 9 See the program below that we worked on in class and that multiplies A=4 by B=5, the result 20 is stored in a particular register: Address 15 14 པPy"BI" ༦ དད་པས་ས་་ 12 11 11 10 9 8 7 6 109876543210 13 12 x3000 0 0 0 0 0 1000 000110 x3001 0 0 1 0 0 1 0000 000110 x3002 0 1 0 1 0 1 101 1 100000 x3003 0 0 0 1 0 1 x3004 0 0 0 1 0 101 1 000001 10010 111111 x3005 0 0 0 0 1 01 1 11 1 1 1 1 0 1 x3006 1 1 1 1 0 00000100101 x3007 0 0 0 0 0 00000000101 x3008 0 00 00 0 0000 0000100 Based on the last digit of your Kean ID, you need to modify it to multiply the personally assigned A and B to you and store the result exactly in the register assigned. Write a program in machine language (in binary) so it looks similar to the above. 3 4 ID 0 A 3 B Result Register 6 R4 1 4 7 R5 2 7 3 R6 My Kean ID: 1233321 2 2 00 8 6 5 9 1 6 R7 33 34 R4 6 0 7 R5 55 7 5 5 R6 6 1 12 R7 RR 7 R3 Trace the program/loop step by step and provide the result of your tracing. SHOW ALL YOUR WORK.arrow_forward
- You are tasked with developing a portable system that can be worn to collect health and fitness data. The challenge is to integrate all functions into the smaller form of an ear clip. The device should include heart rate, movement and temperature sensor and wireless communication with a mobile app. Draw a diagram- hardware architecture of the system- including the selection of suitable sensors, communication modules, and an energy-efficient microcontroller. (visualize the components and their connections)arrow_forwardDraw out an example of 3 systems using Lamport’s logical clock and explain the steps in words.arrow_forward“Systems have become very powerful and sophisticated, providing quality information fordecisions that enable the firm to coordinate both internally and externally.”With reference to the above statement compare the operations of any three data gatheringsystems today’s organisations use to aid decision making.arrow_forward
C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage Learning
EBK JAVA PROGRAMMINGComputer ScienceISBN:9781337671385Author:FARRELLPublisher:CENGAGE LEARNING - CONSIGNMENT
Microsoft Visual C#Computer ScienceISBN:9781337102100Author:Joyce, Farrell.Publisher:Cengage Learning,- Programming Logic & Design ComprehensiveComputer ScienceISBN:9781337669405Author:FARRELLPublisher:Cengage
EBK JAVA PROGRAMMINGComputer ScienceISBN:9781305480537Author:FARRELLPublisher:CENGAGE LEARNING - CONSIGNMENT
C++ for Engineers and ScientistsComputer ScienceISBN:9781133187844Author:Bronson, Gary J.Publisher:Course Technology Ptr




