声明数组增量元素的快速方法-Java

声明数组增量元素的快速方法-Java,java,arrays,Java,Arrays,假设我有10个整数变量,x1到x10 我有一个整数数组,如下所示: Int[] countup = new Int[10]; countup[0] = x1; countup[1] = x1 + x2; countup[2] = x1 + x2 + x3; 我希望按如下方式指定数组的元素: Int[] countup = new Int[10]; countup[0] = x1; countup[1] = x1 + x2; countup[2] = x1 + x2 + x3; 依此类推,

假设我有10个整数变量,
x1
x10

我有一个整数数组,如下所示:

Int[] countup = new Int[10];
countup[0] = x1;
countup[1] = x1 + x2;
countup[2] = x1 + x2 + x3;
我希望按如下方式指定数组的元素:

Int[] countup = new Int[10];
countup[0] = x1;
countup[1] = x1 + x2;
countup[2] = x1 + x2 + x3;
依此类推,直到countup[9]是
x1
x10
的总和


如果只有10个元素,我就可以手动执行此操作,但在我编写的实际程序中,数组中有100多个元素。有什么方法可以快速设置此数组的变量吗?

for循环是最好的选择,只需将10(或100)个整数放入它自己的数组中,然后在第二个数组上循环引用第一个数组的索引:

int[] xNumbers = { x1, x2, x3, ... x10 };
int[] countup = new int[10];

//Set the 0 index so we don't have to do extra check inside the for loop
//for out-of-bounds exception
countup[0] = xNumbers[0];
for (int i = 1; i < 10; i++) {
    //countup[i-1] is why we set index 0 outside of the loop
    countup[i] = xNumbers[i] + countup[i-1];
}
int[]xNumbers={x1,x2,x3,…x10};
int[]倒计时=新的int[10];
//设置0索引,这样我们就不必在for循环中进行额外的检查
//对于越界异常
倒计时[0]=xNumbers[0];
对于(int i=1;i<10;i++){
//倒计时[i-1]是我们在循环外设置索引0的原因
倒计时[i]=xNumbers[i]+倒计时[i-1];
}

因为
countup[i-1]
是前面的数字的总和,所以前面的加法已经为您完成了。如果您不知道for循环是什么,可以找到更多信息

for循环是您的最佳选择,只需将10(或100)个整数放入自己的数组中,然后在第二个数组上循环引用第一个数组的索引:

int[] xNumbers = { x1, x2, x3, ... x10 };
int[] countup = new int[10];

//Set the 0 index so we don't have to do extra check inside the for loop
//for out-of-bounds exception
countup[0] = xNumbers[0];
for (int i = 1; i < 10; i++) {
    //countup[i-1] is why we set index 0 outside of the loop
    countup[i] = xNumbers[i] + countup[i-1];
}
int[]xNumbers={x1,x2,x3,…x10};
int[]倒计时=新的int[10];
//设置0索引,这样我们就不必在for循环中进行额外的检查
//对于越界异常
倒计时[0]=xNumbers[0];
对于(int i=1;i<10;i++){
//倒计时[i-1]是我们在循环外设置索引0的原因
倒计时[i]=xNumbers[i]+倒计时[i-1];
}

因为
countup[i-1]
是前面的数字的总和,所以前面的加法已经为您完成了。如果您不知道for循环是什么,可以找到更多信息

我想找到一种在Java 8中实现它的方法,另一个答案可能更好:

以下是我所拥有的,但这似乎是多余和浪费时间的,但我不熟悉Java 8:

public static void main(String[] args) {
        int[] arr = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
        int length = arr.length;
        for (int i = 1; i < length; i++) {
            System.out.println(Arrays.toString(Arrays.copyOfRange(arr, 0, i + 1)));
            arr[i] = Arrays.stream(Arrays.copyOfRange(arr, 0, i + 1)).sum();
        }
        System.out.println(Arrays.toString(arr));

    }

我想找到一种在Java 8中实现的方法,另一个答案可能更好:

以下是我所拥有的,但这似乎是多余和浪费时间的,但我不熟悉Java 8:

public static void main(String[] args) {
        int[] arr = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
        int length = arr.length;
        for (int i = 1; i < length; i++) {
            System.out.println(Arrays.toString(Arrays.copyOfRange(arr, 0, i + 1)));
            arr[i] = Arrays.stream(Arrays.copyOfRange(arr, 0, i + 1)).sum();
        }
        System.out.println(Arrays.toString(arr));

    }
简明扼要地说:

int[] xNums = { /*your x numbers here*/ };
int[] resultArray = new int[xNums.length];
for(int n = 0; n < xNums.length; n++)
{
for(int i = 0; i <= n; i++)
{
    resultArray[n]+=xNums[i];
}
}
int[]xNums={/*此处的x数字*/};
int[]resultArray=newint[xNums.length];
对于(int n=0;n
int[] xNums = { /*your x numbers here*/ };
int[] resultArray = new int[xNums.length];
for(int n = 0; n < xNums.length; n++)
{
for(int i = 0; i <= n; i++)
{
    resultArray[n]+=xNums[i];
}
}
int[]xNums={/*此处的x数字*/};
int[]resultArray=newint[xNums.length];
对于(int n=0;n对于(int i=0;i)你可以使用一个(或两个)。x1,x2,x3是一个数1,2,3,4?为什么你有数百个int变量?你可以使用一个(或两个).x1,x2,x3是一个数1,2,3,4?为什么有数百个int变量?也许
for
循环应该有
i<10
i
,以避免初学者mistakes@user3189142这是我实现的解决方案,效果非常好!也许
for
循环应该有
I<10
喜欢
i
以避免初学者mistakes@user3189142这是我实施的解决方案,效果很好!这是一个出色的解决方案,但一开始有点让我不知所措!谢谢dude@user3103162这是一个出色的解决方案,但一开始有点让我不知所措!谢谢dude@user3103162