2017-02-12 55 views
-1
public static void main(String[] args) { 
    System.out.println(th(365, 50));// the default value is 365 and 50 
     //i want to reset these number from command line 
} 

我嘗試,如果使用,否則命令行參數和默認值(如何重置)

public static void main(String[] args){ 
    int[] array=new int[args.length]; 
    if(array[0]==null) // but incomparable types int and null 
     System.out.println(th(365, 50)); 
    else{ 
     for (int i=0;i<args.length;i++){ 
      array[i]=Integer.parseInt(args[i]); 
     } 
     System.out.println(th(array[0], array[1])); 
    } 
} 

怎麼辦它。我真的很感激任何幫助,您可以給

+1

我不明白你的問題。 –

+0

在命令行中, 如果我輸入「java aa」,程序使用默認值,這是365和50 但如果我想重置這些值(在命令行輸入「java aa 300 50」),程序將使用300和50 – samexmm

回答

0

的首先要做的是檢查命令行參數的數量是在你的情況下,一個預期,即2:

if(args.length!=2){ 
    System.out.println("Two arguments expected!"); 
    exit(-1); 
} 

然後您可以創建陣列,只是解析輸入:

int[] array=new int[2]; 
array[0]=Integer.parseInt(args[0]); 
array[1]=Integer.parseInt(args[1]); 
System.out.println(th(array[0], array[1])); 

你應該已經定義了一個方法叫做,因爲這類接受兩個整數並返回一個字符串的成員當然。另外,如果兩個輸入參數不是整數,則parseInt方法將引發異常。