java如何将第三个元素作为循环从数组中删除?
将6个数字相加为1,2,3,4,5,6
需要删除循环中差值为2的值
期望的结果:在第一个循环中删除3,然后删除6,然后删除4,然后删除2,然后删除5&;最后以1
这是我的密码:
while(array.length ! = 1)
{
for(int i =2; i<array.length; i=i+2)
{
array = ArrayUtils.remove(array, i);
System.out.println("Content of Array after removing an object : "
+ Arrays.toString(array));
}
}
结果是
移除对象后的数组内容:[1、2、4、5、6]
删除对象后的数组内容:[1、2、4、5]
删除对象后的数组内容:[1、2、5]
删除对象后的数组内容:[1,2]
请帮忙
# 1 楼答案
提供第二个运行示例将帮助我确定这段代码是否有效,但到目前为止,我已经让它实现了您想要的功能。我四处闲逛,想问一些没有回答的C#问题,所以我很抱歉,但这是C#语言,不是Java语言。抱歉搞得一团糟,但我只有几分钟的时间工作一天结束了
输出为:
# 2 楼答案
看起来,一旦数组减少到两个元素,您可能会收到NullPointerException,因为您试图引用索引为“2”的元素(因为您设置了int i=2),但只有两个元素,而索引“2”将引用不存在的第三个元素
一种方法是添加一个边缘情况条件。例如,当数组大小小于或等于3时,可以使用if语句,并更改它删除的元素
这里的问题不是代码问题,而是逻辑问题