1

问题是:我有 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();
}

}

输入值:

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};  

但我需要那些作为参数。

有任何想法吗?提前致谢。

4

2 回答 2

1

如果我理解正确,您只想使用 3 个参数,其中每个参数用作列表。好吧,您可以使用 GSON 包并像单个字符串一样传递参数。这是示例:

输入:

参数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]

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 个参数作为字符串输入并转换为int. 假设它会帮助你

于 2012-10-19T08:05:03.263 回答
0

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

于 2012-10-19T07:54:23.223 回答