please do both parts  part 1) Implement the Solvable inheritance structure strictly according to its UML diagram. Add comments stating where data fields, constructors, toString(), and other methods are (if any). Neither method should have an empty body unless abstract methods. Note: You should implement the Solvable interface, abstract class Problem, regular class CodingProblem, and regular class MathProblem.       part 2) Write a main() method inside of the CodingProblem class, having the following: 1. Generate a random integer from 0 to 100. Hint: int num = (int)(Math.random()*100); 2. Create a new instance of the CodingProblem class with random input, a String “Your lucky number is: yourInputvalue” as output, algorithm, and programmingLanguage. Apply the concept of Polymorphism (means creating the object using the Problem class name but CodingProbem’s constructer). 3. Create a new instance of the MathProblem class with random input, its square (power of 2) as an output, your algorithm, and random difficultyLevel (you can use the same random number you created in 1 twice). 4. Display both objects on the console. Hint: Please display the objects follow the Example Outputs; you need to modify the toString() method. 5. Test getFinalAnswer() method on both objects. 6. Add comments to your program.   output below

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
please do both parts 
part 1) Implement the Solvable inheritance structure strictly according to its UML diagram.
Add comments stating where data fields, constructors, toString(), and other methods are (if
any). Neither method should have an empty body unless abstract methods.
Note: You should implement the Solvable interface, abstract class Problem, regular class
CodingProblem, and regular class MathProblem.
 
 
 
part 2) Write a main() method inside of the CodingProblem class, having the following:
1. Generate a random integer from 0 to 100.
Hint: int num = (int)(Math.random()*100);
2. Create a new instance of the CodingProblem class with random input, a String “Your
lucky number is: yourInputvalue” as output, algorithm, and programmingLanguage.
Apply the concept of Polymorphism (means creating the object using the Problem
class name but CodingProbem’s constructer).
3. Create a new instance of the MathProblem class with random input, its square
(power of 2) as an output, your algorithm, and random difficultyLevel (you can use
the same random number you created in 1 twice).
4. Display both objects on the console.
Hint: Please display the objects follow the Example Outputs; you need to modify the
toString() method.
5. Test getFinalAnswer() method on both objects.
6. Add comments to your program.
 
output below 
5. Test getFinalAnswer() method on both objects.
6. Add comments to your program.
Page
2
Eureka!
of 2
Example output:
Problem:
input-52, output=Your lucky number is: 52, algorithm=randomization, isHard()=true]
programming Language is: Java, howToSolve: Write a Java program]
Eureka!
Problem:
input-19, output=Your square is: 361, algorithm=randomization, isHard()=false]
difficultyLevel is: 19, howToSolve: Multiply to itself]
ZOOM +
Transcribed Image Text:5. Test getFinalAnswer() method on both objects. 6. Add comments to your program. Page 2 Eureka! of 2 Example output: Problem: input-52, output=Your lucky number is: 52, algorithm=randomization, isHard()=true] programming Language is: Java, howToSolve: Write a Java program] Eureka! Problem: input-19, output=Your square is: 361, algorithm=randomization, isHard()=false] difficultyLevel is: 19, howToSolve: Multiply to itself] ZOOM +
> of 2
classes implementing it. The UML diagram of the inheritance hierarchy is represented below:
<<interface>>
Solvable
+how To Solve(): String
+getFinalAnswer(): String
Coding Problem
-programming Language : String
#input int
#output: String
#algorithm: String
+Problem()
+Problem(input: int, output: String, algorithm: String)
+getInput(): int
+getOutput(): String
+getAlgorithm(): String
+setInput(input : int) : void
Problem
+setOutput(output: String): void
+setAlgorithm(algorithm: String): void
+toString(): String
+isHard(): boolean
+CodingProblem()
+CodingProblem(input: int, output: String, algorithm
: String, programming Language : String)
+getProgramming Language(): String
+setProgramming Language(programming Language :
String): void
+toString(): String
Page
MathProblem
1
-difficultyLevel : int
+MathProblem()
+MathProblem(input: int, output: String, algorithm
:String, difficultyLevel: int)
+getDifficultyLevel(): int
+setDifficultyLevel(difficultyLevel : int): void
+toString(): String
Part 1.1. Implement the Solvable inheritance structure strictly according to its UML diagram.
Add comments stating where data fields, constructors, toString(), and other methods are (if
any). Neither method should have an empty body unless abstract methods.
Note: You should implement the Solvable interface, abstract class Problem, regular class
CodingProblem, and regular class MathProblem.
ZOOM +
Transcribed Image Text:> of 2 classes implementing it. The UML diagram of the inheritance hierarchy is represented below: <<interface>> Solvable +how To Solve(): String +getFinalAnswer(): String Coding Problem -programming Language : String #input int #output: String #algorithm: String +Problem() +Problem(input: int, output: String, algorithm: String) +getInput(): int +getOutput(): String +getAlgorithm(): String +setInput(input : int) : void Problem +setOutput(output: String): void +setAlgorithm(algorithm: String): void +toString(): String +isHard(): boolean +CodingProblem() +CodingProblem(input: int, output: String, algorithm : String, programming Language : String) +getProgramming Language(): String +setProgramming Language(programming Language : String): void +toString(): String Page MathProblem 1 -difficultyLevel : int +MathProblem() +MathProblem(input: int, output: String, algorithm :String, difficultyLevel: int) +getDifficultyLevel(): int +setDifficultyLevel(difficultyLevel : int): void +toString(): String Part 1.1. Implement the Solvable inheritance structure strictly according to its UML diagram. Add comments stating where data fields, constructors, toString(), and other methods are (if any). Neither method should have an empty body unless abstract methods. Note: You should implement the Solvable interface, abstract class Problem, regular class CodingProblem, and regular class MathProblem. ZOOM +
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 3 images

Blurred answer
Knowledge Booster
Class
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
Recommended textbooks for you
Database System Concepts
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)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education