C/C++ programmers are used to parsing command line arguments using the “int argc” and “char *argv[]” parameters to the main() function. Java programmers can use a similar syntax to greatly simplify the processing of optional switches:
public class DemoSwitch { // Optional switch - default is false private boolean switch = false; // Execution starts here static public void main(String args[]) { int argc = args.length; // Number of command line parameters int argv = 0; // Index to first one String parameter; // Expected parameter // Turn optional switch on if present in the command line if (argc > 0 && (switch = args[argv].startsWith("-s"))) { // Skip for further processing --argc; ++argv; } // Continue processing command line parameters if (argc > 0) { parameter = args[argv]; } else { System.err.println("Usage: java DemoSwitch [-s] "); return; } // place useful code here... }}