Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

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