2015-08-30 28 views
2

我有一個簡單的問題。如何在運行java -jar sample.jar時將整數數組作爲參數傳遞。整型數組是我的輸入。整數數組作爲運行Java jar時的參數

還有其他一些選項,如傳遞數組作爲逗號分隔值(如1,2,3),並將字符串值轉換爲java中的整數數組。

我想知道是否有其他選擇。 感謝您的幫助!

回答

5

不,確實沒有其他選擇。命令行參數只是作爲文本傳遞。某些代碼需要將它們解析爲整數。

有兩個用於解析命令行各種第三方庫,但你的入口點肯定是要有一個String[]參數。如果全部您需要的是int[],我只是將每個String轉換爲int。在Java 8中,這真的很簡單:

import java.util.Arrays; 

public class Test { 
    public static void main(String[] args) { 
     int[] array = Arrays.stream(args).mapToInt(Integer::parseInt).toArray(); 

     // Just for example 
     for (int value : array) { 
      System.out.println(value); 
     } 
    } 
} 
+0

'java test 1 2 3 e 5' oops – Clashsoft

+0

@Clashsoft:是的,如果你沒有傳入有效數字,它會崩潰。對我來說似乎很合理。 –

4

命令行參數是文本。您可以將它們作爲逗號分隔的列表傳遞給您。或者您可以傳遞一個文件名,其中包含以文本或二進制文件保存的信息。

+1

感謝您的幫助! –

0

這將是更好地讓用戶在使用什麼參數,這樣

For(int i<0; i<ARRAYSIZE; i++) { 
Scanner reader = new Scanner(System.in); 
System.out.println("Enter the number :"); 
array[i] = reader.nextInt(); 
} 

參數通常用於配置程序執行提供。