如何解决使用ListIterator,在数组列表的2个偶数整数之间添加“ -1”
所以这是我的第一篇文章,如果不完善,我深表歉意。我正在做一个项目,我需要使用ListIterator遍历整数数组列表。在此遍历中,我将需要找到所有偶数对,并在两者之间添加“ -1”以分隔偶数。到目前为止,这是我的代码:
No two evens. Print the original list. If you find two even numbers then add a -1 between them. Print the new list.
*/
ListIterator<Integer> lt5 = x.listIterator();
System.out.println();
System.out.println("N O E V E N S ");
printArrays(x);
while(lt5.hasNext()) {
if(lt5.next() %2 ==0 && lt5.next()%2==0) {
lt5.previous();
lt5.add(-1);
}
}
System.out.println();
ListIterator<Integer> lt6 = x.listIterator();
while(lt6.hasNext()) {
System.out.print(lt6.next()+" ");
}
我确定这很简单,但我无法弄清楚。有什么想法吗?
我必须使用迭代器
解决方法
如果希望连续两个偶数后-1
,可以使用以下代码:
public void modifyList(List<Integer> list){
System.out.println(list);
ListIterator<Integer> it = list.listIterator();
while(it.hasNext()){
if(it.next()%2==0 && it.hasNext() && it.next()%2==0){
it.add(-1);
}
}
System.out.println(list);
}
//Input: [1,2,3,4]
//Output:[1,4]
//Input: [1,4,5,6,8]
//Output:[1,-1,8,-1]
如果要在两个连续的偶数之间使用-1
,则可以使用以下代码:
public void modifyList(List<Integer> list){
System.out.println(list);
ListIterator<Integer> it = list.listIterator();
while(it.hasNext()){
if(it.next()%2==0 && it.hasNext() && it.next()%2==0){
it.previous();
it.add(-1);
}
}
System.out.println(list);
}
//Input: [1,8]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。