2014-01-25 72 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]); 
}