【问题标题】:Turning 2 arrays into a two-dimensional array in java在java中将2个数组变成二维数组
【发布时间】:2011-04-10 23:06:48
【问题描述】:

您好,我正在尝试将两个数组转换为一个二维数组。但是,我不断收到错误消息:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
 at test5.sum(test5.java:12)
 at test5.main(test5.java:38)

这是我的代码:

public class test5 {
    int[][] final23;

    public int[][] sum(int[] x, int[] y) {
        final23 = new int[2][x.length];
        for (int i = 0; i < final23[i].length; i++) {

            final23[1][i] = x[i];
            final23[2][i] = y[i];
        }
        return final23;
    }

    public void print() {
        for (int i = 0; i < final23[i].length; i++) {
            for (int j = 0; j < final23[i].length; j++) {

                System.out.print(final23[i][j] + " ");
            }
        }
    }

    public static void main(String[] args) {
        int l[] = { 7, 7, 3 };
        int k[] = { 4, 6, 2 };
        test5 X = new test5();

        X.sum(k, l);
        X.print();
    }
}

我不太确定问题出在哪里。对不起,如果问题很愚蠢,我是编码新手!

【问题讨论】:

    标签: java arrays multidimensional-array


    【解决方案1】:

    您的程序还有第二个问题。 sumprint 方法中都有这个循环:

    for (int i = 0; i < final23[i].length; i++)
    

    在 sum 方法中应该是

    for (int i = 0; i < final23[0].length; i++)
    

    在打印方法中

    for (int i = 0; i < final23.length; i++)
    

    否则你会再次得到ArrayIndexOutOfBoundsException

    请注意,只有当两个输入数组的长度相同时,程序才能正常工作。这可能适合您的目的,但请记住这一点。

    【讨论】:

      【解决方案2】:

      试试

      for (int i = 0; i < final23[i].length; i++)
       {
      
        final23 [0][i] = x[i];
        final23 [1][i] = y[i];
       }
      

      请记住,所有数组都是基于 0 的,甚至是 n 维数组。

      【讨论】:

        【解决方案3】:

        问题是:

        final23 [2][i] = y[i];
        

        Java 数组总是从 0 开始。所以 final23 只有 [0] 和 [1]。

        任何具有 n 个元素的数组都可以从 0 到 n-1。

        【讨论】:

        • 以及大多数常见编程语言中的数组。至少在源自 C 的那些中。
        猜你喜欢
        • 2018-12-16
        • 2021-10-29
        • 2010-12-12
        • 1970-01-01
        • 2023-04-07
        • 1970-01-01
        • 2021-02-09
        • 2017-10-12
        • 2017-12-13
        相关资源
        最近更新 更多