Who can help me,thanks..! write a java code using the following abstract class t
ID: 3833861 • Letter: W
Question
Who can help me,thanks..!
write a java code using the following abstract class to draw figures. there are three types of figures (rectangle, circle, triange).
Your program will prompt tthe user to select a figure at one time. the seected figure will be saved into an array list. After obtaining
five figures, your program draw all the figures that saved in the array list. For this exam, you can draw figure using text of format such
as "drawing circle". You have to use different subclass for each type of figures.
abstract class Shape{
abstract void draw();
}
//input(user input bold and underlined)
Select figure 1:circle
Select figure 2:triangle
Select figure 3:rectangle
Select figure 4:triangle
Select figure 5:circle
//output
drawing circle
drawing triangle
drawing rectangle
drawing triangle
drawing circle
Explanation / Answer
Below is your code: -
Shape.java
public abstract class Shape {
abstract void draw();
}
Circle.java
public class Circle extends Shape {
@Override
void draw() {
System.out.println("drawing circle");
}
}
Triangle.java
public class Triangle extends Shape {
@Override
void draw() {
System.out.println("drawing triangle");
}
}
Rectangle.java
public class Rectangle extends Shape {
@Override
void draw() {
System.out.println("drawing rectangle");
}
}
ShapeDriver.java
import java.util.ArrayList;
import java.util.Scanner;
public class ShapeDriver {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
ArrayList<Shape> shapes = new ArrayList<>(); // list containing
// different shapes
for (int i = 0; i < 5; i++) {
System.out.print("Select figure " + (i + 1) + ":");
String s = sc.next();
if (s.equalsIgnoreCase("circle")) {
Circle c = new Circle();
shapes.add(c);
} else if (s.equalsIgnoreCase("triangle")) {
Triangle c = new Triangle();
shapes.add(c);
} else if (s.equalsIgnoreCase("rectangle")) {
Rectangle c = new Rectangle();
shapes.add(c);
}
}
sc.close();
System.out.println();
for (int i = 0; i < shapes.size(); i++) {
if(shapes.get(i) instanceof Circle) {
System.out.println("drawing circle");
} else if(shapes.get(i) instanceof Triangle) {
System.out.println("drawing triangle");
} else if(shapes.get(i) instanceof Rectangle) {
System.out.println("drawing rectangle");
}
}
}
}
Sample Run: -
Select figure 1:circle
Select figure 2:triangle
Select figure 3:rectangle
Select figure 4:triangle
Select figure 5:circle
drawing circle
drawing triangle
drawing rectangle
drawing triangle
drawing circle
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.