CODE:

import java.util.Scanner;
 
abstract class Figure {
    int x, y;
    abstract int area();
}
 
class Rectangle extends Figure {
    Rectangle(int a, int b) {
        x = a;
        y = b;
    }
    int area() {
        return x * y;
    }
}
 
class Triangle extends Figure {
    Triangle(int a, int b) {
        x = a;
        y = b;
    }
    int area() {
        return (x * y) / 2;
    }
}
 
class Square extends Figure {
    Square(int a) {
        x = y = a;
    }
    int area() {
        return x * x;
    }
}
 
public class ProblemOne {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        Figure f;
 
        System.out.print("Enter width and height of rectangle: ");
        f = new Rectangle(sc.nextInt(), sc.nextInt());
        System.out.println("Rectangle area: " + f.area());
 
        System.out.print("Enter base and height of triangle: ");
        f = new Triangle(sc.nextInt(), sc.nextInt());
        System.out.println("Triangle area: " + f.area());
 
        System.out.print("Enter side of square: ");
        f = new Square(sc.nextInt());
        System.out.println("Square area: " + f.area());
    }
}

OUTPUT:

Enter width and height of rectangle: 150
50
Rectangle area: 7500
Enter base and height of triangle: 12
80
Triangle area: 480
Enter side of square: 12
Square area: 144