/* vim: set expandtab tabstop=4 shiftwidth=4 : */ // package pkgname; import java.io.File; import java.util.Date; import jargs.gnu.CmdLineParser; public class Percolation { public Percolation(int N) // create N-by-N grid, with all sites blocked public void open(int i, int j) // open site (row i, column j) if it is not already public boolean isOpen(int i, int j) // is site (row i, column j) open? public boolean isFull(int i, int j) // is site (row i, column j) full? public boolean percolates() // does the system percolate? } /** * Class Percolation * * @author * @date 02/03/13 */ public class Percolation { /* * print usage and exit with status 1 */ private static void printUsage () { System.err.println("Usage : Percolation [{-d, --debug} a_float] [ --input file_name]"); System.err.println(" debug : debug verbosity"); System.err.println(" input : path to input file"); } /** * application entry point */ public static void main (String [] args ) { CmdLineParser parser = new CmdLineParser(); CmdLineParser.Option debug = parser.addIntegerOption('d',"debug"); CmdLineParser.Option input = parser.addStringOption("input"); try { parser.parse(args); } catch(CmdLineParser.OptionException e) { System.err.println("\n"+e.getMessage()); printUsage(); System.exit(2); } int debugLevel = ((Integer)parser.getOptionValue(debug,new Integer(0))).intValue(); String inputFile = (String)parser.getOptionValue(input); if(debugLevel>0){ System.out.println("Debug Trace :"); System.out.println("\t"+new Date( ) ); System.out.println("\tdebug level : "+debugLevel); System.out.println("\texcel file : "+inputFile); } if(inputFile!=null && !inputFile.equals("")){ File f = new File(inputFile); if(!f.canRead()){ System.err.println("Fatal Error : Unable to read "+inputFile); System.exit(1); } } System.exit(0); } }