java - 在添加到 ArrayList 后删除偶数元素并返回修改后的 ArrayList

标签 java arraylist

package com.company;

import java.util.*;
import java.io.*;

public class Main {
    public static int processArray(ArrayList<Integer> array) {

    int sum=0;
    for (int i=0;i<array.size()-1;i++) {
            if (array(i) %2 == 0 && array.get(i+1)%2==0){
                    sum += array.get(i);
                    array.set(i,sum);
                    array.remove(i+1);
                    i--;
            }
    }
    return array.size();
}

public static void main (String[] args) {
    ArrayList<Integer> arrayList = new ArrayList<Integer>();
    Scanner in = new Scanner(System.in);
    while(in.hasNextInt()) {
        int num = in.nextInt();
        if (num < 0)
            break;
        arrayList.add(new Integer(num));
    }
    int new_length = processArray(arrayList);
    for(int i=0; i<new_length; i++)
        System.out.println(arrayList.get(i));
}
}

==========================================

输入

3 6 36 61 121 66 26 第376章 第661章 6 -1

我需要输出

3 42 61 121 第468章 第661章 6

我的输出

3 6 42 61 121 66 92 第468章 第661章 6

我在这里做错了什么?

最佳答案

由于其他人正在尝试(但未能)为您提供可行的解决方案,因此这里是对更改行的评论:

public static ArrayList<Integer> processArray(ArrayList<Integer> array) {
    for (int i = 0; i < array.size() - 1; i++) { // don't process last value (it has no next value)
        if (array.get(i) % 2 == 0 && array.get(i+1) % 2 == 0) {
            int sum = array.get(i) + array.get(i+1); // add current and next value
            array.set(i, sum); // update current value
            array.remove(i+1); // remove next value
            i--; // make sure we re-process current value, to compare with "new" next value
        }
    }
    return array; // return modified array
}

关于java - 在添加到 ArrayList 后删除偶数元素并返回修改后的 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43559366/

相关文章:

java - IBM JVM 1.6 SR14 : java. lang.UnsatisfiedLinkError : fontmanager (Not found in com. ibm.oti.vm.bootstrap.library.path)

java - 使用 versions-maven-plugin 在我的父 pom.xml 中获取最新版本的插件

java - RSQL : How to query for null column values?

java - 正确填充 map 中的列表

java - 如果列表包含不同的类,如何使用 gson 将 json 转换为 arraylist?

具有 ConcurrentModificationException 的 Java 线程

java - 为什么我的 ArrayList 只打印出最后一个被调用的子类?

c# - 使用 DateTime 对 C# ArrayList 进行排序

java - Java Swing 的日期选择器 GUI 组件

java - 如何将用户定义的类转换为字符串