使用多个int数组作为args

时间:2012-10-19 07:51:07

标签: java arrays function int args

问题在于: 我有3个int []作为args,我需要将它们传递给与它们一起使用的函数。 args []是:

 1: {14,14,17,17,14,12,13,11,12}
 2: {74,34,57,67,34,42,53,61,22}
 3: {24,24,12,21,29,14,21,17,12}

关于来源的想法:

public class Main {
    public static void main(String[] args) {
        System.out.println("amount: " + args.length);
        int[] intArray = new int[args.length];
        for(int i=0;i<args.length;i++)
             intArray[i]=Integer.valueOf(args[i]);
        int[] statica= intArray[0];
        int[] inserta= intArray[1];
        int[] reservea= intArray[2];

    GraphicConsts.getSvgStylTotalamount();
    InputValues inputValues = new InputValues(statica, inserta, reservea);
    inputValues.init();
}

}

inputValues:

public class InputValues {

private int[] staticamount; 

public int[] insertamount;

private int[] reserveamount;

private int[] totalamount=new int[]{};
private int[] depositDF=new int[]{};
private int[] depositelse=new int[]{};

public InputValues(int statica, int inserta, int reservea) {

// TODO Auto-generated constructor stub
}
    public void init() {

// AUTO generated setters und getters

}

这一切都通过FOPConverter进行,但该部分正在运行。 如果我像

那样对数组进行硬编码,这一切都有效
private int[] staticamount= new int[]{14,14,17,17,14,12,13,11,12};  

但我需要那些作为args。

有什么想法吗? 提前谢谢。

2 个答案:

答案 0 :(得分:1)

如果我理解你,你只想使用每个arg用作列表的3个args。好吧,您可以使用GSON包并传递单个字符串之类的参数。这是一个例子:

输入:

arg1:[14,14,17,17,14,12,13,11,12]

arg2:[74,34,57,67,34,42,53,61,22]

arg3:[24,24,12,21,29,14,21,17,12]

import java.lang.reflect.Type;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
....
public static void main(String[] args) {

....

Type collectionType = new TypeToken<int[]>(){}.getType();

int[] festmengeNew1 = gson.fromJson(args[0], collectionType); 
int[] festmengeNew2 = gson.fromJson(args[1], collectionType); 
int[] festmengeNew3 = gson.fromJson(args[2], collectionType); 
....
}

如您所见,我将3个参数输入为String并转换为int列表。假设它会帮助你

答案 1 :(得分:0)

main(String args [])总是需要一个String类型的数组。它不允许您传递数组数组,这是您的要求。因此,您可以做的是将每个数组作为逗号分隔的字符串传递,然后使用分隔符将每个字符串拆分为“,”。您将能够检索您的阵列。