我使用if语句在args.length == 0
时向用户提供自定义错误消息。但是,当没有传递参数时,我得到的是一个超出范围的错误,而不是打印我的自定义消息。
String w1 = args[0];
int n1 = Integer.parseInt(args[1]);
for(int x = 0; x < n1; x++) {
System.out.println(w1);
}
String w2 = args[2];
int n2 = Integer.parseInt(args[3]);
for(int b = 0; b < n2; b++){
System.out.println(w2);
}
String w3 = args[4];
int n3 = Integer.parseInt(args[5]);
for(int c = 0; c < n3; c++) {
System.out.println(w3);
}
if(args.length == 0){
System.out.println("Error: No user input.");
return;
}
}
答案 0 :(得分:0)
显示代码后修改。
Java: Check if command line arguments are null
我建议总是检查if((args == null)||(args.length == 0)),或者if((args!= null)&amp;&amp;(args.length&gt; 0))取决于根据你的需要。
if((args == null) || (args.length == 0))
{
System.out.println("Error: No user input.");
return;
}
if (args.length == 1) {
String w1 = args[0];
int n1 = Integer.parseInt(args[1]);
for(int x = 0; x < n1; x++) {
System.out.println(w1);
}
}
if (args.length == 3) {
String w2 = args[2];
int n2 = Integer.parseInt(args[3]);
for(int b = 0; b < n2; b++){
System.out.println(w2);
}
}
if (args.length == 5) {
String w3 = args[4];
int n3 = Integer.parseInt(args[5]);
for(int c = 0; c < n3; c++) {
System.out.println(w3);
}
}
&#13;