Java Format: Unbound (saleable)
8th Edition
ISBN: 9780134448398
Author: SAVITCH, Walter
Publisher: Prentice Hall
expand_more
expand_more
format_list_bulleted
Textbook Question
Chapter 5, Problem 6PP
Consider a class that could be used to play a game of hangman. The class has the following attributes:
Developing a solution to Project 6
- The secret word.
- The disguised word, in which each unknown letter in the secret word is replaced with a question mark (?). For example, if the secret word is abracadabra and the letters a, b, and e have been guessed, the disguised word would be ab?a?a?ab?a.
- The number of guesses made.
- The number of incorrect guesses.
It will have the following methods:
- makesGuess (c) guesses that character c is in the word.
- getDisguisedWord returns a string containing correctly guessed letters in their correct positions and unknown letters replaced with?.
- getSecretWord returns the secret word.
- getGuessCount returns the number of guesses made.
- isFound returns true if the hidden word has been discovered.
- a. Write a method heading for each method.
- b. Write preconditions and postconditions for each method.
- c. Write some Java statements that test the class.
- d. Implement the class.
- e. List any additional methods and attributes needed in the implementation that were not listed in the original design. List any other changes made to the original design.
- f. Write a program that implements the game of hangman using the class you wrote for Part d.
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
IN C++
Implement a class Car with the following properties.
A car has a certain fuel efficiency (measured in miles/gallon or liters/km—pick one) and a certain amount of fuel in the gas tank.
The efficiency is specified in the constructor, and the initial fuel level is 0.
Provide another parameterized constructor which takes both efficiency and fuel as parameters.
Also supply methods
getGasInTank, returning the current amount of gasoline in the fuel tank.
getEfficiency() return the efficiency of car.
setGasInTank(double fuel), to add gasoline to the fuel tank.
setEfficiency(double efficiency)
Supply a method Drive () that simulates driving the car for a certain distance, reducing the amount of gasoline in the fuel tank according to its efficiency.
Sample usage:
Car myHybrid (50); // 50 miles per gallon
myHybrid.addGas(20); // Tank 20 gallons
myHybrid.Drive(100); // Drive 100 miles
double gasLeft = myHybrid.getGasInTank(); // Get gas remaining in tank
Supply a main method that tests…
Consider a class Movie that contains the following information about a movie. The class has the following attributes:
Title
MPAA Rating (e.g. G, PG, PG-13, R)
Number of people who rated this movie as a 1 (Terrible)
Number of people who rated this movie as a 2 (Bad)
Number of people who rated this movie as a 3 (OK)
Number of people who rated this movie as a 4 (Good)
Number of people who rated this movie as a 5 (Great)
Implement the Movie class such that it is able to contain the above information. Include constructor that would accept two parameters and initialize the movie's title to the value of its first parameter and the movie's MPAA rating to the value of its second parameter, and public rating to 0. Also include access member functions for title and MPAA rating. Include a member function to increment the public rating that will only accept integer values
between 1 and 5. Finally, write a member function that would return the average public rating of a movie.
Write a…
Consider the case of a shop that sells CDs in cash. The CDs are of three types: Movie CDs, Software CDs and Music CDs. For each of the following CD types, the required attributes are:Movie CD: Movie Title, Year of Release, Lead Actor Name, CD price and CD quantitySoftware CD: Software Name, Edition, Year of Release, CD price and CD quantityMusic CD: Album Title, Year of Release, Number of Songs, Format, CD price and CD quantity
All objects of the classes cannot change their state once they are instantiated. How will you implement this?
Chapter 5 Solutions
Java Format: Unbound (saleable)
Ch. 5.1 - Consider the program in Listing 5.4 . Suppose you...Ch. 5.1 - Prob. 2STQCh. 5.1 - Prob. 3STQCh. 5.1 - Suppose every species in the world has a peculiar...Ch. 5.1 - Revise the definition of the method writeOutput in...Ch. 5.1 - Revise the definition of the method readInput in...Ch. 5.1 - Revise the definition of the method...Ch. 5.1 - What is the meaning of (int) that appears in the...Ch. 5.1 - Prob. 9STQCh. 5.1 - Define a method called getDensity that could be...
Ch. 5.1 - Define a method called changePopulation that could...Ch. 5.1 - Define a method called changePopulation that could...Ch. 5.2 - In Listing 5.12, we set the data for the object...Ch. 5.2 - Give preconditions and postconditions for the...Ch. 5.2 - What is an accessor method? What is a mutator...Ch. 5.2 - Give the complete definition of a class called...Ch. 5.2 - Prob. 17STQCh. 5.2 - In the definition of the method in Listing 5.15,...Ch. 5.2 - What is a well-encapsulated class definition?Ch. 5.2 - When should an instance variable in a class...Ch. 5.2 - Prob. 21STQCh. 5.2 - In a class definition, is anything private ever...Ch. 5.2 - In a class definition, is the body of any method...Ch. 5.3 - What is a reference type? Are class types...Ch. 5.3 - When comparing two quantities of a class type to...Ch. 5.3 - Prob. 26STQCh. 5.3 - Write a method definition for a method called...Ch. 5.3 - Given the class Species as defined in Listing...Ch. 5.3 - After correcting the program in the previous...Ch. 5.3 - What is the biggest difference between a parameter...Ch. 5.3 - Prob. 31STQCh. 5.3 - Write an equals method for the class Person...Ch. 5.4 - Rewrite the method drawFaceSansMouth in Listing...Ch. 5 - Design a class to represent a credit card. Think...Ch. 5 - Repeat Exercise 1 for a credit card account...Ch. 5 - Repeat Exercise 1 for a coin instead of a credit...Ch. 5 - Repeat Exercise 1 for a collection of coins...Ch. 5 - Consider a Java class that you could use to get an...Ch. 5 - Consider a class that keeps track of the sales of...Ch. 5 - Consider a class MotorBoat that represents...Ch. 5 - Prob. 8ECh. 5 - Prob. 9ECh. 5 - Prob. 10ECh. 5 - Write a program to answer questions like the...Ch. 5 - Define a class called Counter. An object of this...Ch. 5 - Prob. 3PCh. 5 - Define a Trivia class that contains information...Ch. 5 - Define a Beer class that contains the following...Ch. 5 - Write a grading program for an instructor whose...Ch. 5 - Add methods to the Person class from Self-Test...Ch. 5 - Create a class that represents a grade...Ch. 5 - Write a program that uses the Purchase class in...Ch. 5 - Write a program to answer questions like the...Ch. 5 - Consider a class that could be used to play a game...Ch. 5 - Consider a class BasketballGame that represents...Ch. 5 - Consider a class ConcertPromoter that records the...Ch. 5 - Prob. 9PPCh. 5 - Consider a class Movie that contains information...Ch. 5 - Repeat Programming Project 18 from Chapter 4, but...Ch. 5 - Prob. 12PP
Additional Engineering Textbook Solutions
Find more solutions based on key concepts
Why is it useful for a programmer to have some background in language design, even though he or she may never a...
Concepts Of Programming Languages
The acceleration of a Maserati is proportional to the difference between 250 km/h and the velocity of this spor...
Differential Equations: Computing and Modeling (5th Edition), Edwards, Penney & Calvis
Figure 1-30 shows the Visual Studio IDE. What are the names of the four areas indicated in the figure? Figure 1...
Starting Out With Visual Basic (7th Edition)
3.12 (Date Create a class called Date that includes three pieces Of information as data
members—a month (type ...
C++ How to Program (10th Edition)
Will all of a class's action always be directly mentioned in the problem domain description?
Starting Out with Python (3rd Edition)
The __________ section of a switch statement is branched to if none of the case values match the test expressio...
Starting out with Visual C# (4th Edition)
Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Similar questions
- Write a complete program for the description given below. Consider a Billing class that implements an interface Payable having a method getTotalPayment Amount(). Besides this, you have a Doctor class with private instance variables (docID, docName, and docFee) and a public getDoc() method, Patient class with private instance variables (pName, pID. pDisease), Medicine class with private instance variables (medID, medName, medQty, medPrice), and Medical Test class with private instance variables (testID, testName, testPrice). Each of these classes has the toString() method to display the information of its object. The Billing class is having "Has A" relationship with the other four classes (Doctor, Patient, Medicine, and MedicalTest) mentioned above. The getPayment Amount() method of Billing class returns the total billing amount that includes doc fee, medicine cost, and medical test fee that a patient has to pay. After implementing these classes, you are required to do the following in…arrow_forwardImplement a class Season that represents a season during a specified year. For purposes of thisproblem, assume that the seasons in each year are, in order, 'Winter', 'Spring', 'Summer', 'Autumn' .__init__, __repr__A Season object is created by calling the constructor and supplying two optional arguments:1. season, defaults to 'Winter'2. calendar year, an int , defaults to 2023For the __repr__ , see the usage below: The next and prev methods modify a Season object by changing it to the next season or previousseason in sequence, respectively. Note that the seasons can "roll over" or "roll back" and that this maychange the year by +/-1. 1. During each year, the seasons occur in this sequence: 'Winter', 'Spring', 'Summer', 'Autumn' 2. next - change to next season, if the current season is Autumn then year will increase by 1 3. prev - change to previous season, if Winter then year will decrease by 1 Implement the == operator ( __eq__ method) to compare two Season…arrow_forwardCreate a Java Project (with a class and a test class) to represent some real-world entity such as a technology item (TV, Fan etc), an animal, a person, a vehicle, etc. In our class, we have already seen example classes such as Circle, Student, Rectangle, TV etc.arrow_forward
- Write a Java program for a class called MyPoint, which models a 2D point with x and y coordinates, is designed as shown in the class diagram. It contains: Two instance variables x (int) and y (int). A default (or "no-argument" or "no-arg") constructor that construct a point at the default location of (0, 0). A overloaded constructor that constructs a point with the given x and y coordinates. Getter and setter for the instance variables x and y. A method setXY() to set both x and y. A method getXY() which returns the x and y in a 2-element int array. A toString() method that returns a string description of the instance in the format "(x, y)". A method called distance(int x, int y) that returns the distance from this point to another point at the given (x, y) coordinates, e.g.,MyPoint p1 = new MyPoint(3, 4); System.out.println(p1.distance(5, 6)); An overloaded distance(MyPoint another) that returns the distance from this point to the given MyPoint instance (called another), e.g.,MyPoint…arrow_forwardWrite a Java program for a class named Baby. A Baby has a name of type String and an ageof type integer.Supply two constructors: one will be the default constructor, that just setsdefault values for the name and age; the second constructor will take twoparameters, a string to set the name and an integer to set the age. Also, supplymethods for setting the name, setting the age, getting the name and getting theage.The class should not contain I/O methods; input of values to the instancevariables must be done with a set method or constructor, output of values fromthe instance variables must be done with get methods. The set method for thename instance variable should ensure that the input is not empty or containwhitespaces (otherwise set a default value). The set method for the ageinstance variable should validate the input to be between 1 and 4 inclusive(otherwise set a default value).Give Java code for an equals method for the Baby class. Babies count asbeing the same (i.e. equal) if…arrow_forwardWrite a class called Circle that contains:a. Three private instance variables: radius (of the type double), color (of thetype String), and area (of type double).b. Two constructors - a default constructor with no argument (default value of radiusis 2.0, and color is Green) and a parameterized constructor, which initializes onlythe radius and the color variables.c. Getter and setter for the radius and color variables.d. Two public methods: calculateArea(), and getPerimeter, which return the areaand perimeter of a circle instance, respectively. Both methods have return.Then write a driver class that tests the Circle class. In the driver class, create two objectsof Circle class, one that tests the default constructor of the Circle class (here no user inputis required) and then get the color, radius, area, and perimeter of that object and displaythem. The second object should test the parameterized constructor (here you need to ask userto give you input to initialize the class variables).…arrow_forward
- For this exercise, you will be given a project file digital_pet containing two (2) classes, the DigiPet class andthe DigiPetTester class.Every DigiPet has five fields:- name- lifespan (in cycles) – max age- age (in cycles) – current age- mood (2 = joyful, 1 = happy, 0 = neutral, -1 = sad, -2 = angry)- size – current size of pet (size ≥ 1)A DigiPet has a default constructor, overloaded constructor, and some various methods which allow one tointeract with it or modify its state.Poke or pet increases or decreases its mood.Feed or exercise increases or decreases its size by a specified amount.Every time you interact with the digipet (poke, pet, feed, exercise), its age increases. When the age reaches thelifespan, it dies (or becomes a zombie).You need to modify and customize the DigiPet class as follows:- Implement the overloaded constructor: Initialize all five fields. Use the values passed as parameters toinitialize name and lifespan. Use the same default values that the default…arrow_forwardWrite the Java program bellow: add a new HourlyEmployee class to this project, so that it makes the main function work as shown in the sample output. Specifically you will need: To define HourlyEmployee as a sub-class of Employee (so it extends Employee). Two additional instance variables: an hourlyRate (dollars/hour) and an expectedHoursPerWeek. Both of these should have datatype double. A constructor that has all instance variables as parameters An input() function that overrides and uses its super-class input function, also inputting the two variables above. A weeksPay() method that returns the expectedHoursPerWeek times hourlyRate. An accessor (getter) and mutator (setter) for expectedHoursPerWeek An output() method that overrides and uses its super-class output function, also outputting the expected hours per week. Code: import java.util.Scanner; import java.util.ArrayList; class Main { publicstaticvoid main(String[] args) { Scanner scan = new Scanner(System.in); int i;…arrow_forwardWrite a java program in a class CountPoor that counts the number of families that are considered poor. Write and use a class Family that has the attributes. income—a double value that is the income for the family size—the number of people in the family and the following methods: Family(income, size)—a constructor that sets the attributes isPoor(housingCost, foodCost)—a method that returns true if housingCost + foodCost * size is greater than half the family income (foodCost is the average food cost for an individual, while housingCost is for the family) toString—a method that returns a string containing the information about the family The program should read an integer k from the keyboard and then create an array of size k whose base type is Family. It should then create k objects of type Family and put them in the array, reading the income…arrow_forward
- the Java program bellow is not completed. add a new HourlyEmployee class to this project, so that it makes the main function work as shown in the sample output. Specifically you will need: To define HourlyEmployee as a sub-class of Employee (so it extends Employee). Two additional instance variables: an hourlyRate (dollars/hour) and an expectedHoursPerWeek. Both of these should have datatype double. A constructor that has all instance variables as parameters An input() function that overrides and uses its super-class input function, also inputting the two variables above. A weeksPay() method that returns the expectedHoursPerWeek times hourlyRate. An accessor (getter) and mutator (setter) for expectedHoursPerWeek An output() method that overrides and uses its super-class output function, also outputting the expected hours per week. Code: import java.util.Scanner; import java.util.ArrayList; class Main { publicstaticvoid main(String[] args) { Scanner scan = new Scanner(System.in);…arrow_forwardbox1 and box2 are instances of the Box class. Attributes length, width, and height of both box1 and box2 are read from input. Then, two strings are read from input. In the Box class, define instance method print_measurements() with self and one string as parameters to output the string parameter in one line, and the following in the next line: The value of attribute length ' by ' The value of attribute width ' by ' The value of attribute heightarrow_forwardImplement a class Car with the following properties. A car has a certain fuel efficiency(measured in miles/gallon or liters/km—pick one) and a certain amount of fuel in the gastank. The efficiency is specified in the constructor, and the initial fuel level is 0.Supply a method drive that simulates driving the car for a certain distance, reducing theamount of gasoline in the fuel tank. Also supply methods getGasInTank, returning thecurrent amount of gasoline in the fuel tank, and addGas, to add gasoline to the fuel tank.Sample usage:Car myHybrid = new Car(50); // 50 miles per gallonmyHybrid.addGas(20); // Tank 20 gallonsmyHybrid.drive(100); // Drive 100 milesdouble gasLeft = myHybrid.getGasInTank(); // Get gas remaining in tankYou may assume that the drive method is never called with a distance that consumes morethan the available gas. Supply a CarTester class that tests all methods.arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education
6 Stages of UI Design; Author: DesignerUp;https://www.youtube.com/watch?v=_6Tl2_eM0DE;License: Standard Youtube License