java – tengo este código y quiero que agá lo que pone debajo

 import java.util.Scanner;

 abstract class Shape {
     int width;
     abstract void area();
 }
 //tu código va aquí


 public class Program {
     public static void main(String( ) args) {
         Scanner sc = new Scanner(System.in);
         int x = sc.nextInt();
         int y = sc.nextInt();
        
        Square a = new Square(x);
        Circle b = new Circle(y);
        a.area();
        b.area();
    }
}

Estás trabajando en una aplicación gráfica, que incluye múltiples formas diferentes.
El código dado declara una clase base Shape con un método abstracto area() y un atributo width .
Necesitas crear dos subclases Shape, Square y Circle, que inicializan el atributo de anchura usando su constructor, y definen sus métodos area() .
El area() para la clase Square debe generar el área del cuadrado (el cuadrado de la anchura), mientras que para Circle,debe generar el área del círculo dado (PIanchuraanchura).
El código en principal crea dos objetos con la entrada de usuario dada y llama a los métodos area().

Ejemplo de entrada:
5
2

Ejemplo de salida:
25
12.566370614359172

El área de un cuadrado es 55=25, mientras que el área del círculo es PI2*2=12.566370614359172