java RunSpotRunSometimes, you need to give a little extra information or the program has nothing to do. So at the command line you type
java SpotRunTo CanadaThis page covers how to get that information from the command line and into your program.
All Java applications contain, at a minimum, the following code:
public class { public static void main( String[] args ) { } }Technical gibberish: An application must be a public class which contains a public static method called "main" (case is very important). "main" returns "void" which means that it returns nothing.
The important thing for now is that main has one parameter: "String[] args" (it doesn't have to be called "args" although almost everyone always does and you should stick to this standard). This means that the sole parameter is an array of strings (String[]) called "args".
Now let's turn it into something with purpose and will compile.
public class SpotRunTo { public static void main( String[] args ) { System.out.println( "Spot is now in " + args[0] ); } }I added "SpotRunTo" to the first line. This gives my class a name so that Java can tell which program I want to run. I also added a line that will print Spot's current status. "Spot is now in " is a string constant. The "+" performs a string concatenation. "args[0]" gets the first string in "args".
Copy this little program to SpotRunTo.java and compile it (javac SpotRunTo.java). Run it (java SpotRunTo Canada).
Since "args" is nothing more than a plain old array, you can do all sorts of things.
Modify the SpotRunTo program to see how many parameters were passed.
Replace
System.out.println( "Spot is now in " + args[0] );with
if ( args.length == 0 ) { System.out.println( "Spot is now home" ); } else { System.out.println( "Spot is now in " + args[0] ); }Compile it.
Now run the program like this
java SpotRunTo CanadaAnd now run the program like this
java SpotRunToNotice the difference?
For more information on the args parameter, look in Just Java 1.2 page
70, or Just Java 2 (sixth edition) page 96.