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

EBK JAVA PROGRAMMING
9th Edition
ISBN:9781337671385
Author:FARRELL
Publisher:FARRELL
Chapter11: Advanced Inheritance Concepts
Section: Chapter Questions
Problem 16RQ
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
  • SEE MORE QUESTIONS
Recommended textbooks for you
EBK JAVA PROGRAMMING
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT