public class CommandArgs { /** * 遇到错误时,打印错误信息,并退出程序 * @param errmsg 错误信息 */ public static void error(String errmsg) { System.err.println(errmsg); System.exit(1); } public static void main(String[] args) { //命令行下的帮助信息 String usageMsg = "Usage: CommandArgs [options]\n" + "Where [options] are:\n" + " -help 显示帮助信息\n" + " -n 设置参数的名字\n" + " -v 设置参数的值\n"; String name = null; String value = null; for (int i = 0; i < args.length; i++) { if (args[i].equals("-n")) { if ((i + 1) == args.length) { error("Error: -n requires an argument."); } name = args[++i]; } else if (args[i].equals("-v")){ if ((i + 1) == args.length) { error("Error: -v requires an argument."); } value = args[++i]; } else if (args[i].equalsIgnoreCase("-help")) { System.out.println(usageMsg); System.exit(0); } else { error("Error: argument not recognized: " + args[i]); } } System.out.println("[命令行解析结果] name: " + name + "; value: " + value); } }