ShapesThing.java
1    /* This program is used to print various 
2     * properties of shapes into 
3     * the runtime terminal. 
4     */
5    package shapes;
6    
7    import javax.swing.*;
8    
9    public class ShapesThing {
10       public static void main(String[]args) {
11           // prints the side length, area, perimeter, and diagonal length of a square with a side length of 400.
12           SSquare square = new SSquare(400);
13           System.out.println("square = " + square.toString());
14           System.out.println("area of square = " + square.area());
15           System.out.println("perimeter of square = " + square.perimeter());
16           System.out.println("diagonal of square = " + square.diagonal());
17   
18           // prints the radius, area, and perimeter of the inscribing circle
19           SCircle disk = square.inscribingCircle();
20           System.out.println("disk = " + disk.toString());
21           System.out.println("area of disk = " + disk.area());
22           System.out.println("perimeter of disk = " + disk.perimeter());
23   
24           // prints the inscribing diamond
25           SSquare diamond = disk.inscribingSquare();
26           System.out.println("diamond = " + diamond.toString());
27           SwingUtilities.invokeLater(new Runnable() {
28               public void run() {new ShapesThing();
29               }
30           });
31       }
32   }
33   
34