命令行程序

 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]\n"
22                 +"where options are:\n"
23                 +"-help                               文档帮助信息\n"
24                 +"-n <name>                           参数名称\n"
25                 +"-v <value>                          参数值\n";
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()方法
posted @ 2018-01-08 14:13  celineluo  阅读(217)  评论(0编辑  收藏  举报