Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.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 for循环中的数组_Java_Arrays_Loops_For Loop - Fatal编程技术网

Java for循环中的数组

Java for循环中的数组,java,arrays,loops,for-loop,Java,Arrays,Loops,For Loop,我有一个名为blockHeights的数组,其中包含3个值,即1,2,3。因此blockHeights[0]等于1 我还有一个循环: for (int i = 1; i <= blockHeights.length; i++) 但是,在下一个循环中,我希望更改该变量,使其只将blockHeights[1]和blockHeights[2]添加在一起,忽略blockHeights[0] 我该怎么做呢?您可以在两个for-loop-outer-loopfor(int I=1;I尝试以下操作(我

我有一个名为
blockHeights
的数组,其中包含3个值,即1,2,3。因此
blockHeights[0]
等于1

我还有一个循环:

for (int i = 1; i <= blockHeights.length; i++)
但是,在下一个循环中,我希望更改该变量,使其只将
blockHeights[1]
blockHeights[2]
添加在一起,忽略
blockHeights[0]


我该怎么做呢?

您可以在两个for-loop-outer-loop
for(int I=1;I尝试以下操作(我假设第三次迭代应该只包括
blockHeights[2]
,遵循模式):

对于(int i=1;i请尝试以下代码:

public class Loop {

    public static void main(String[] argv) {

        int[] blockHeights = new int[] {1, 2, 3};
        int totalBlockHeights = 0;

        for(int i = 0; i < blockHeights.length; i++) {
            totalBlockHeights = 0;
            for(int j = i; j < blockHeights.length; j++) {
                totalBlockHeights += blockHeights[j];
            }
            System.out.println(totalBlockHeights);
        }
    }

}
公共类循环{
公共静态void main(字符串[]argv){
int[]blockHeights=新的int[]{1,2,3};
int totalBlockHeights=0;
对于(int i=0;i

你不需要两个来达到这个目的。

如果你想要数组的和,以及没有第一个值的数组的和

int totalBlockHeights = 0;
for(int i = 0; i < blockHeights.length; i++){
    totalBlockHeights += blockHeights[i];
}

System.out.println(totalBlockHeights);
System.out.println("totalBlockHeights without first value = " + (totalBlockHeights - blockHeights[0]));
int totalBlockHeights=0;
对于(int i=0;i

这样你只循环一次

你还想让第三个循环只将blockHeights[2]分配给totalBlockHeights吗?我就是这么想的:)
public class Loop {

    public static void main(String[] argv) {

        int[] blockHeights = new int[] {1, 2, 3};
        int totalBlockHeights = 0;

        for(int i = 0; i < blockHeights.length; i++) {
            totalBlockHeights = 0;
            for(int j = i; j < blockHeights.length; j++) {
                totalBlockHeights += blockHeights[j];
            }
            System.out.println(totalBlockHeights);
        }
    }

}
    int[] blockHeights = new int[] { 1, 2, 3 };
    int totalBlockHeights = 0;
    int customBlockHeights = 0;

    for (int i = 0; i < blockHeights.length; i++) {
        totalBlockHeights += blockHeights[i];
        if (i == 0) {
            continue;
        }
        customBlockHeights += blockHeights[i];
    }
    System.out.println(totalBlockHeights);
    System.out.println(customBlockHeights);
6
5
int totalBlockHeights = 0;
for(int i = 0; i < blockHeights.length; i++){
    totalBlockHeights += blockHeights[i];
}

System.out.println(totalBlockHeights);
System.out.println("totalBlockHeights without first value = " + (totalBlockHeights - blockHeights[0]));