2014-01-25 56 views
0

对于我的程序,如果用户没有输入命令行参数并显示错误消息,那么我在创建错误检查时遇到问题。而不是崩溃。 没有文本文件参数,我得到一个ArrayIndexOutOfBoundsException:o?错误检查命令行参数

public static void main(String[] commandlineArgument) { 
     Integer[] array = ReadFile7.readFileReturnIntegers(commandlineArgument[0]); 
     ReadFile7.printArrayAndIntegerCount(array, commandlineArgument[0]); 
     if(commandlineArgument.length == 0){ 
     System.out.println("Please file name " + 
       "as the first commandline argument."); 
     } 
    } 
+0

只需推动 '如果(commandlineArgument.length == 0){...' 块到主要方法的顶部。并添加'返回1;'里面如果阻止执行 –

回答

3

只检查:

if(commandlineArgument.length == 0){ ... } 

使用前:

commandlineArgument[0] 
+0

哦,天哪,当然o ___ o ...不能相信我搞砸了。非常感谢。 –

0

只需检查第一个如果commandlineArgument大于0:

if (commandlineArgument.length == 0){ 
    System.out.println("Please enter the file name " + 
     "as the 1st commandline argument."); 
} else { 
    Integer[] array = ReadFile7.readFileReturnIntegers(commandlineArgument[0]); 
    ReadFile7.printArrayAndIntegerCount(array, commandlineArgument[0]); 
}