1 package com.jdk7.chapter1; 2 3 /** 4 * 命令行程序 5 * @author celineluo 6 * 7 */ 8 public class CommandArgs { 9 /** 10 * 调用系统错误方法打印错误信息 11 * 调用exit()关闭java虚拟机,0表示正常退出应用程序,其他值表示异常退出应用程序 12 * 是否是先退出应用程序,再关闭java虚拟机?? 13 * @param err 14 */ 15 public static void error(String err){ 16 System.err.println(err); 17 System.exit(1); //异常退出 18 } 19 20 public static void main(String[] args) { //命令行的参数由main函数的String[]接收 21 String usageMsg = "UsageMsg: CommandArgs [options] " 22 +"where options are: " 23 +"-help 文档帮助信息 " 24 +"-n <name> 参数名称 " 25 +"-v <value> 参数值 "; 26 String name = null; 27 String value = null; 28 for(int i=0;i<args.length;i++){ 29 if(args[i].equals("-n")){ 30 if((i+1)==args.length){ 31 error("Error:-n需要参数值."); 32 }else{ 33 name = args[++i]; 34 } 35 }else if(args[i].equals("-v")){ 36 if((i+1)==args.length){ 37 error("Error:-v需要参数值."); 38 }else{ 39 value = args[++i]; 40 } 41 }else if(args[i].equalsIgnoreCase("-help")){ 42 System.out.println(usageMsg); 43 System.exit(0); 44 }else{ 45 error("支持的参数不能为: "+args[i]); 46 } 47 } 48 System.out.println("name: "+name+"; value: "+value); 49 } 50 }
在类变量方法中如果要调用外部的变量或者方法,则只能调用外部的类变量和类变量方法,如上main()方法中只能调用static类型的
error()方法