将 ArrayList 折叠为单个整数

问题描述

我正在为 java 开发代码以折叠数组内的元素,例如

A[0] = 2A[1] = 7A[2] = 9A[ 3] = 7

然后用这种格式折叠它

A[0] = (A[0] + A[3]) mod 10 = 9

A[1] = (A[1] + A[2]) mod 10 = 6

再折叠一次,直到单张

A[0] = (A[0] + A[1]) mod 10 = 5

以下是不完整的代码:

import java.util.ArrayList;
import java.util.List;
import java.lang.Math;

public class ArrayFolder {

    public static void main(String[] args) {

        //ArrayList
        int[] A = {
            2,7,9,7
        };

        //To define a new Array later
        List<Integer> intList = new ArrayList<Integer>();

        //To print the ArrayList A
        for (int x = 0; x < A.length; x++) {
            System.out.println("A[" + x + "]= " + A[x]);
        }

        //Function to fold the ArrayList into half
        int res = 0;
        int result = 0;

        //if A.length is Even
        if (A.length % 2 == 0) {
            for (int i = 0; i < A.length / 2; i++) {
                res = A[i] + A[A.length - 1 - i];
                result = res % 10;
                intList.add(result);
            }
        }

        //if A.length is Odd
        else {
            for (int i = 0; i < A.length / 2; i++) {
                res = A[i] + A[A.length - 1 - i];
                result = res % 10;
                intList.add(result);
            }
            result = A[A.length / 2];
            intList.add(result);
        }

        //add the int to New ArrayList
        Integer[] intArray = new Integer[intList.size()];
        intArray = intList.toArray(intArray);
        System.out.println("\nNew Array ");

        for (Integer s: intArray) {
            System.out.println(s);
        }

    }
}

编译结果

A[0]= 2
A[1]= 7
A[2]= 9
A[3]= 7

New Array
9
6

我找不到一种有效的方法来保持循环函数,因此当实现单个整数时代码将停止折叠。

我的问题是,有没有什么有效的方法来循环这个过程,以便稍后它可以处理更大的 Array 元素?。

请提供逻辑或代码,以便我继续我的代码。

非常感谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)