将一维数组转换为二维数组,并将数组中的数字的幂相互配对

时间:2017-11-28 20:06:24

标签: java arrays

编辑:我愚蠢如地狱 - 应该正确检查测试用例。问题解决了 - 抱歉浪费你的时间

下图展示了我希望实现的目标:

enter image description here

这是我的代码:

public static int[][] square(int[] array) {
    int arraySquare[][] = new int[array.length][2];

    for (int i = 0; i < array.length; i++) {
        arraySquare[i][0] = array[i];
        arraySquare[i][1] = (int) Math.pow(array[i], 2);
    }

    return arraySquare;
}

哪里出错?

编辑:

以下@Test案例:

 private final int[] array1 = {1, 2, 3};
  private final int[] array7 = {1, 4, 9};

  @Test
  public void testSquare1() {
    int[][] r = Arrays.square(array1);
    assertEquals(2, r.length);
    assertArrayEquals(array1, r[0]);
    assertArrayEquals(array7, r[1]);
  }

1 个答案:

答案 0 :(得分:0)

  1. 假设Arraysjava.util.Arrays,那么就没有Arrays.square()这样的方法(至少不在JDK8中)

  2. 数组长度测试将导致错误。

  3. // actual array length is 3 based on example provided assertEquals(2, r.length);