(Enable GeometricObject comparable) Modify the GeometricObject class to implement the Comparable interface and define a static max method in the GeometricObject class for finding the larger of two GeometricObject objects. Draw the UML diagram and implement the new GeometricObject class. Write a test
Want to see the full answer?
Check out a sample textbook solutionChapter 13 Solutions
Introduction to Java Programming and Data Structures, Comprehensive Version (11th Edition)
Additional Engineering Textbook Solutions
Computer Science: An Overview (12th Edition)
Concepts of Programming Languages (11th Edition)
Artificial Intelligence: A Modern Approach
Starting Out With Visual Basic (7th Edition)
Starting Out with Java: Early Objects (6th Edition)
Java: An Introduction to Problem Solving and Programming (8th Edition)
- (Triangle class) Design a new Triangle class that extends the abstract GeometricObject class. Draw the UML diagram for the classes Triangle and GeometricObject and then implement the Triangle class. Write a test program that prompts the user to enter three sides of the triangle, a colour, and a Boolean value to indicate whether the triangle is filled. The program should create a Triangle object with these sides and set the colour and filled properties using the input. The program should display the area, perimeter, colour, and true or false to indicate whether it is filled or not.arrow_forward(TicTacToe Class) Create a class TicTacToe that will enable you to write a complete programto play the game of tic-tac-toe. The class contains as private data a 3-by-3 two-dimensional arrayof integers. The constructor should initialize the empty board to all zeros. Allow two human players.Wherever the first player moves, place a 1 in the specified square. Place a 2 wherever the second player moves. Each move must be to an empty square. After each move, determine whether the gamehas been won or is a draw. If you feel ambitious, modify your program so that the computer makesthe moves for one of the players. Also, allow the player to specify whether he or she wants to go firstor second. If you feel exceptionally ambitious, develop a program that will play three-dimensionaltic-tac-toe on a 4-by-4-by-4 board. [Caution: This is an extremely challenging project that couldtake many weeks of effort!]arrow_forward(The Account class) Account -id: int -balance: double -annualInterestRate : double -dateCreated : Date +Account( ) +Account(someId : int, someBalance : double) +getId() : int +setId(newId : int) : void +getBalance() : double +setBalance(newBalance : double) : void +getAnnualInterestRate( ) : double +setAnnualInterestRate(newRate : double) : void +getDateCreated( ) : Date +getMonthlyInterestRate( ) : double +getMonthlyInterest( ) : double +withdraw(amt : double) : void +deposit(amt : double) : void Design a class named Account that contains: ■ A private int data field named id for the account (default 0). ■ A private double data field named balance for the account (default 0). ■ A private double data field named annualInterestRate that stores the current interest rate (default 0). Assume all accounts have the same interest rate. Make it static. ■ A private Date data field named dateCreated that stores the date when the account was created. (private Date dateCreated)…arrow_forward
- Question 7 (a) Suppose the class Spaghetti implements the Edible interface and the base class of Spaghetti is Food class. You have given the following variables declaration: Food food; new Spaghetti (); Spaghetti spa Edible e = null; %3D Identify the following statements as valid or invalid. i) e spa; spa = food; = new Food(): ii) spa food (Spaghetti) e: e = new Spaghetti(): CS Scanned with CamScannerarrow_forward(The Time class) Design a class named Time. The class contains: - The data fields hour, minute, and second that represent a time. - A no-arg constructor that creates a Time object for the current time. (The values of the data fields will represent the current time.) -A constructor that constructs a Time object with a specified elapsed time since midnight, January 1, 1970, in milliseconds. (The values of the data fields will represent this time.) -A constructor that constructs a Time object with the specified hour, minute, and second. - Three getter methods for the data fields hour, minute, and second, respectively. -A method named setTime (long elapseTime) that sets a new time for the object using the elapsed time. For example, if the elapsed time is 555550000 milliseconds, the hour is 10, the minute is 19, and the second is 10. Draw the UML diagram for the class and then implement the class. Write a test program that creates two Time objects (using new Time (), new Time(555550000),…arrow_forward(Date Class) Create a class called Date that includes three pieces of information as auto-implemented properties—a month (type int), a day (type int) and a year (type int). Your class should have a constructor that initializes the three automatic properties and assumes that the values provided are correct. Provide a method DisplayDate that displays the month, day and year separated by forward slashes (/). Write a test app named DateTest that demonstrates class Date’s capabilities.arrow_forward
- Problem (Circle.java) Implement a class called Circle for representing a circle. The circle has two data members, a Point object representing the center of the circle and a float value representing the radius. Include appropriate constructors for your Circle class. Encapsulate it. Also include methods for finding the area and circumference of the circle. area = pi * radius * radius circumference = 2 * pi * radius. (You may use the static constant pi in the Math class) 5. Override the toString() and equals().arrow_forward(T/F) Mutable classes can easily be made immutable by taking out the setter methods. Yes o Noarrow_forward(Java) Create an HourlyEmployee class that inherits from Employee and has two new instance variables: hours, which represents the hours worked, and wage, which represents the employee's pay per hour. (Both are doubles.) Create a constructor that takes the arguments first name, last name, social security number, hourly wage, and the number of hours worked. Also create accessors, mutators, an earnings method that returns the money earned by the employee this week, and a toString method that returns information about the employee in the form of a String. The setWage method should ensure that the wage is nonnegative, and the setHours method should ensure that the value of hours is between 0 and 168 (the number of hours in a week).Create a Driver class with a main method that prompts the user to enter a first name, last name, social security number, hours, and wage for an employee. Then, the program should create an HourlyEmployee object and use its toString method to print information…arrow_forward
- Q1.(java)Create a generic class with a type parameter that simulates drawing an item at random out of a box. This class couldbe used for simulating a random drawing. For example, the box might contain Strings representing names writtenon a slip of paper, or the box might contain Integers representing a random drawing for a lottery based on numericlottery picks. Create an add method that allows the user of the class to add an object of the specified type along withan isEmpty method that determines whether or not the box is empty. Finally, your class should have a drawItemmethod that randomly selects an object from the box and returns it. If the user attempts to drawn an item out of anempty box, return null. Write a main method that tests your class.arrow_forwardProblem (Circle.java)a. Implement a class called Circle for representing a circle. The circle has two data members, a Point object representing the center of the circle and a float value representing the radius. a. Include appropriate constructors for your Circle class.b. Encapsulate it.c. Also include methods for finding the area and circumference of the circle. area = pi * radius * radiuscircumference = 2 * pi * radius. (You may use the static constant pi in the Math class)d. Override the toString() and equals().e. Write a simple main method that creates Circle objects and tests each of the methods that you have defined.arrow_forwardProblem (Cylinder.java)a. Implement a class called Cylinder. A cylinder has a circle and one additional data member for representing the height (type float).b. Create appropriate constructors for your Cylinder class.c. Encapsulate it.d. Include methods for finding the volume and area of your Cylinder.area = 2 * (area of the circle in this cylinder) + 2 * pi * radius + heightvolume = (area of the circle in this cylinder) * heighte. Override the toString method of the Object class. Try to use the toString of the Circle class and then just concatenate the remaining values.f. Override the equals method of the Object class. Two Cylinder objects are equal if they have the same center and the same radius and the same height. g. Write a simple main method that creates Cylinder objects and tests each of the methods that you have definedarrow_forward
- 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