
import java.io.*;

/**
 * A demonstration of how to parse command line arguments.
 */
public class Arguments {

    /**
     * Returns a string describing contents of val.
     * Returns "null", "nothing", "an Integer", "a Double", or "a String",
     * according to whether val is null, contains the empty string, an
     * integer, a double, or just a regular string.
     */
    public static String typeOf(String val) {
        if (val == null)
            return "null";
        if (val.equals(""))
            return "nothing";
        try {
            Integer.valueOf(val);
            return "an Integer";
        } catch (NumberFormatException e) { }
        try {
                Double.valueOf(val);
                return "a Double";
        } catch (NumberFormatException e) { }
        return "a String";
    }

    /**
     * Prints the arguments and a description of each.
     */
    public static void main(String args[]) {
        System.out.println("You have "+args.length+" arguments:");
        for (int i = 0; i < args.length; i++) {
            System.out.println("args["+i+"] = "+
                    args[i]+" ("+typeOf(args[i])+")");
        }
    }

}

