我似乎无法弄清楚我如何没有得到正确的输出
int [] f = {1,2,3,4,5,5,4,3,2,1};
int [] b = {0,3,3};
System.out.println(Arrays.toString(hide(f,b)));
// declare int array that will be returned by following method
int [] hiddenAt = {};
public static int [] hide(int [] front, int [] back) {
if (back.length > front.length) {
System.exit(0);
}
for(int x = 0; x < (front.length - 1); x++){
for(int y = 0; y < (back.length - 1); y++){
int temp = front[y];
if (front[y] - back[y] <= front[y] && front[y] - back[y] >= 0 ) {
hiddenAt.add(temp);
}
}
}
return hiddenAt;
}
我正在尝试比较第一个和第二个数组,以便找到第二个数组适合第一个数组的位置,而不会超过第一个数组的最大值,所以......
第一次通过循环:0 与 1 进行比较,2 与 3 进行比较,然后 3 与 3 进行比较(这不起作用)第二次移动位置:0 与 2、2 与 3、3 与 4(有效)第三次: 0 和 3,3 和 4,然后 3 和 5(再次工作)
然后对于数组中的每个位置,它都会返回带有这些值的数组,因此在此示例中将是 front[1]、front[2]、front[3] 等等,这样返回的数组看起来像 {1, 2 , 3 ... }