// MathMethodsDemo.java

import java.text.DecimalFormat;

public class MathMethodsDemo
{
   public static void main(String[] args)
   {
      DecimalFormat df2 = new DecimalFormat("0.00");
      DecimalFormat df3 = new DecimalFormat("0.000");

      System.out.println("This program will convert "
                          + "rectangular coordinates to "
                          + "polar coordinates: ");
      System.out.println("and then back to rectangular "
                          + "coordinates again.");
      System.out.print("Enter x: ");
      double x = Double.parseDouble(ConsoleInput.readLine());
      System.out.print("Enter y: ");
      double y = Double.parseDouble(ConsoleInput.readLine());

      System.out.println("Converting to polar coordinates....");

      double radius = Math.sqrt(x*x + y*y);
      double angle = Math.atan2(y, x);
      System.out.println("radius = " + df3.format(radius)
                          + ",  angle = " + df3.format(angle)
                          + " radians = "
                          + df2.format(angle * 180 / Math.PI)
                          + " degrees");

      System.out.println("Converting back to rectangular"
                         + "coordinates....");

      x = radius * Math.cos(angle);
      y = radius * Math.sin(angle);
      System.out.println("x = " + df3.format(x)
                          + ",  y = " + df3.format(y));
   }  // method main
}  // class MathMethodsDemo