Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 数组的累积和_Java_Arrays_Loops_For Loop - Fatal编程技术网

Java 数组的累积和

Java 数组的累积和,java,arrays,loops,for-loop,Java,Arrays,Loops,For Loop,所以我正在研究一个问题,重点是求一个数组的累积和,例如,如果我有一个({0,2,3,-1,-1})数组,它返回{0,2,5,4,3}。。。或者如果你有一个[1,2,3,4,5,6,7,8,9,10]数组,它应该返回[1,3,6,10,15,21,28,36,45,55] 现在我正在努力解决两个问题,一个是我必须使用给定的方法,另一个是我在努力解决返回的内容,因为total不会。。在我的代码中,我知道它可以累加数组的和,但不能像我的示例中那样累加。。任何指导方针都会有所帮助 public int[

所以我正在研究一个问题,重点是求一个数组的累积和,例如,如果我有一个({0,2,3,-1,-1})数组,它返回{0,2,5,4,3}。。。或者如果你有一个[1,2,3,4,5,6,7,8,9,10]数组,它应该返回[1,3,6,10,15,21,28,36,45,55]

现在我正在努力解决两个问题,一个是我必须使用给定的方法,另一个是我在努力解决返回的内容,因为total不会。。在我的代码中,我知道它可以累加数组的和,但不能像我的示例中那样累加。。任何指导方针都会有所帮助

public int[] makeCumul(int[] in) {
    int[] out = { in.length };
    int total = 0;
    for (int i = 0; i < out.length; i++) {
        total += out[i];
    }
    return total;
}
public int[]makeCumul(int[]in){
int[]out={in.length};
int-total=0;
for(int i=0;i
您还应该注意,在方法签名中,您返回的是一个整数数组,变量
total
是一个整数,而不是整数数组。因此,您希望返回变量
out

给我输出:

0
2
5
4
3
如果要将其放入方法中,可以像下面这样返回最后一个元素:

return out[out.length-1];

不部分读取in数组,但也不更新out数组,也不返回它。这应该对你有用

public int[] makeCumul(int[] in) {
    int[] out = new int[in.length];
    int total = 0;
    for (int i = 0; i < in.length; i++) {
        total += in[i];
        out[i] = total;
    }
    return out;
}
public int[]makeCumul(int[]in){
int[]out=新的int[in.长度];
int-total=0;
for(int i=0;i
您从未阅读过
的任何元素。这似乎有问题,甚至无法编译。你说你要返回一个
int[]
,但是你要返回一个
int
。很抱歉,我用一个设置数组在我的主方法中调用了它。你的代码有几个基本错误。1) 您正在将
out
创建为大小为1的数组。2) 您的方法sig表示您返回了一个
int[]
,但实际上您返回了一个int。3)您从未实际读取输入数组中的任何值。
public class Sum {
    public static void main(String[] args) {
        int in[] = {1,2,3,4,5,6,7,8,9};
        int[] out = new int[in.length];
        out[0] = in[0];
        for (int i = 1; i < out.length; i++) 
            out[i] = out[i-1] + in[i];

        for (int i = 0; i < out.length; i++) 
            System.out.print(out[i]+" ");
    }
}
1 3 6 10 15 21 28 36 45 
return out[out.length-1];
public int[] makeCumul(int[] in) {
    int[] out = new int[in.length];
    int total = 0;
    for (int i = 0; i < in.length; i++) {
        total += in[i];
        out[i] = total;
    }
    return out;
}