检查命令行参数的形式是否正确
Check if command line arguments are in a correct form
所以如果我的程序像这样正确启动:
java Test Tim;John;10;20
但是我想阻止用户输入此表单以外的内容。
因此,每当命令行参数不是 String;String;int;int
形式时,我希望我的程序退出并打印错误代码。
我不知道该怎么做。对于如果有人没有输入任何内容的情况,我只是使用 try catch with ArrayIndexOutofBounds 但我不知道如何特别捕获所有可能的命令行参数,这些参数的格式不正确。
我希望它能给你一些想法:
public static void main(String[] args) {
args = args[0].split(";");
if (args.length != 4) {
throw new IllegalArgumentException("Program starts with parameters like this: (String, String, int, int)");
}
try {
int firstInt = Integer.parseInt(args[2]);
} catch (NumberFormatException e) {
throw new IllegalArgumentException("Program starts with parameters like this: (OK, OK, int, int)");
}
try {
int secondInt = Integer.parseInt(args[3]);
} catch (NumberFormatException e) {
throw new IllegalArgumentException("Program starts with parameters like this: (OK, OK, OK, int)");
}
}
所以如果我的程序像这样正确启动:
java Test Tim;John;10;20
但是我想阻止用户输入此表单以外的内容。
因此,每当命令行参数不是 String;String;int;int
形式时,我希望我的程序退出并打印错误代码。
我不知道该怎么做。对于如果有人没有输入任何内容的情况,我只是使用 try catch with ArrayIndexOutofBounds 但我不知道如何特别捕获所有可能的命令行参数,这些参数的格式不正确。
我希望它能给你一些想法:
public static void main(String[] args) {
args = args[0].split(";");
if (args.length != 4) {
throw new IllegalArgumentException("Program starts with parameters like this: (String, String, int, int)");
}
try {
int firstInt = Integer.parseInt(args[2]);
} catch (NumberFormatException e) {
throw new IllegalArgumentException("Program starts with parameters like this: (OK, OK, int, int)");
}
try {
int secondInt = Integer.parseInt(args[3]);
} catch (NumberFormatException e) {
throw new IllegalArgumentException("Program starts with parameters like this: (OK, OK, OK, int)");
}
}