将数组添加到多维数组中而不删除java中的初始值

时间:2014-07-04 20:19:48

标签: java multidimensional-array

好的,我说我有代码:

        Scanner scan = new Scanner(System.in);
        while (scan.hasNext()) {
            String str = scan.nextLine();
            String[] ss = str.split(" ");
            int[] zz = new int[ss.length];
            for (int i = 0; i < ss.length; i++)
                zz[i] = Integer.parseInt(ss[i]);
            int[][] arr = {
                zz
            };

我想在每次进入arr时添加zz而不删除以前的值。我该怎么做呢?

3 个答案:

答案 0 :(得分:1)

    ArrayList<int[]> arrayList = new ArrayList<>();
    Scanner scan = new Scanner(System.in);
    while (scan.hasNext()) {
        String str = scan.nextLine();
        String[] ss = str.split(" ");
        int[] zz = new int[ss.length];
        for (int i = 0; i < ss.length; i++)
            zz[i] = Integer.parseInt(ss[i]);
        arrayList.add(zz);
    }
    int[][] arr = arrayList.toArray(new int[0][0]);

答案 1 :(得分:0)

有一个很好的例子,说明如何实现自己的二维ArrayList并在特定情况下(重新)使用它:

How to create a Multidimensional ArrayList in Java?

不需要重新发明轮子,去吧!

答案 2 :(得分:0)

在for循环之前创建一个global-ish变量int [] [] arr,然后 将arr[][] = {}放入for循环:

Scanner scan = new Scanner(System.in);
        while (scan.hasNext()) {
            String str = scan.nextLine();
            String[] ss = str.split(" ");
            int[] zz = new int[ss.length];
            int[][] arr = new int[ss.length][ss.length];
            for (int i = 0; i < ss.length; i++){
                zz[i] = Integer.parseInt(ss[i]);
               arr[i] = {
                    zz
                };

您将zz放入索引“i”的arr数组中,因此每个循环都会放入一次值。

希望这会有所帮助,Classic。