我有一个数字的ArrayList,我想将数字列表与存储在变量中的数字进行比较。
例如,7存储在变量中,我的数组由
组成5 1 2 4
我如何将数组中的每个数字与其旁边的数字进行比较,看它是否等于7?然后,如果数字相等或小于7,则将它们移动到数字列表的后面。
即5 + 1 = 6但5 + 1 + 2 = 8所以5和1移动到列表的后面,它变为2 4 5 1.
目前我有一些if语句,但是当我运行它时它们没有阻止并且让我超出范围。
编辑: 这就是我到目前为止所涵盖的我想要它做的一个条件。
for(int z = 0; z< sum; z ++) {
System.out.println(arr);
if(arr.get(z) == sum )
{
arr.add(z);
arr.remove(z);
tot = total2 + arr.get(z);
}
}
答案 0 :(得分:0)
这样的事情应该这样做,
public static boolean contains(int[] arr, int v) {
// need a minimum of two elements to do the addition..
if (arr == null || arr.length {
return false;
}
// Loop from 0 to 1 less then the length of the array
for (int i = 0; i < arr.length - 1; i++) {
// check if the current element + the next element == value
if (arr[i] + arr[i + 1] == v) {
return true;
}
}
return false;
}
public static void main(String[] args) {
System.out.println(contains(new int[] { 5, 1, 2, 4 }, 7)); // false
System.out.println(contains(new int[] { 5, 2, 4 }, 7)); // true
}
输出
false
true