写一个方法
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;
}
不知何故,代码无效。请告诉我出了什么问题?
答案 0 :(得分:2)
提示:
要求说要返回一个2-D整数数组...而不是字符串。
您不需要嵌套循环。
想想如果给你一支铅笔和一张纸并要求手工完成这件事你会怎么做。你会怎么做?转换为代码。
答案 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;
}