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.

Programming Logic & Design Comprehensive
9th Edition
ISBN:9781337669405
Author:FARRELL
Publisher:FARRELL
Chapter10: Object-oriented Programming
Section: Chapter Questions
Problem 6RQ
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.
 
 
5. Test getFinalAnswer() method on both objects.
6. Add comments to your program.
2
Page
of 2
Hint: Please display the objects follow the Example Outputs; you need to modify the
toString() method.
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!
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. 2 Page of 2 Hint: Please display the objects follow the Example Outputs; you need to modify the toString() method. 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! Eureka! Problem: input-19, output=Your square is: 361, algorithm=randomization, isHard()=false] difficultyLevel is: 19, howToSolve: Multiply to itself] ZOOM +
> of 2
An Inheritance principle is used to explore and implement the Solvable interface below and the
classes implementing it. The UML diagram of the inheritance hierarchy is represented below:
Coding Problem
-programming Language : String
<<interface>>
Solvable
+how To Solve(): String
+getFinalAnswer(): 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, programmingLanguage : 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 An Inheritance principle is used to explore and implement the Solvable interface below and the classes implementing it. The UML diagram of the inheritance hierarchy is represented below: Coding Problem -programming Language : String <<interface>> Solvable +how To Solve(): String +getFinalAnswer(): 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, programmingLanguage : 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 5 steps with 1 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
Programming Logic & Design Comprehensive
Programming Logic & Design Comprehensive
Computer Science
ISBN:
9781337669405
Author:
FARRELL
Publisher:
Cengage
EBK JAVA PROGRAMMING
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT