编写一个方法,返回a中所有相邻元素对的2D数组。例如:({1,2,3,4})返回{{1,2},{2,3},{3,4}}

时间:2016-06-12 08:37:16

标签: java

写一个方法

public int[][] pairs(int[] a)

返回a中所有相邻元素对的2D数组。例如:({1,2,3,4})返回{{1,2},{2,3},{3,4}}

public String pairs(int []a)
{
     String adjpairs="";
     for(int i=0;i<a.length;i++)
     {
         for(int j=1;j<a.length;j++){
            adjpairs+=""+a[i]+","+a[j]+"\n";
         }
     }
     return adjpairs;
}

不知何故,代码无效。请告诉我出了什么问题?

2 个答案:

答案 0 :(得分:2)

提示:

  1. 要求说要返回一个2-D整数数组...而不是字符串。

  2. 您不需要嵌套循环。

  3. 想想如果给你一支铅笔和一张纸并要求手工完成这件事你会怎么做。你会怎么做?转换为代码。

答案 1 :(得分:0)

首先,你的方法返回一个String,它应该返回一个int [] []。

public String pairs(int a[]) { 
    int[][] adjpairs = new int[a.length - 1][2]; //this will make a 2d array with a total of (a.length - 1) and 2 columns (1 to store the main int and the other to store the adjacent value.
    for(int r = 0; r < (a.length - 1); r++) {
        adjpairs[r][0] = a[r];
        adjpairs[r][1] = a[r] + 1;
    }
    return adjpairs;
}