繁体   English   中英

Java基本整数数组

[英]Java basic integer array

我不知道为什么我的结果不是:

Your first array element is: 0
1
2
3
4
5
6

(预期输出)

我的代码:

public class day7 {
    public static void main(String[] args){
        int arrayZ[] = new int[7];

        arrayZ[0] = 0;
        System.out.println("Your first array element is: " + arrayZ[0]);

        int i = 1;
        while (i <= 6){
            arrayZ[i] = i;
            i++;
        System.out.println(arrayZ[i]);
        }
    System.out.println("Each entry of the array is: " + arrayZ[0] + " " + arrayZ[1] + " " + arrayZ[2] + " " + arrayZ[3] + " " + arrayZ[4] + " " + arrayZ[5] + " " + arrayZ[6]);
    System.out.println("And, the sum of all array elements are: " + arrayZ[0] + arrayZ[1] + arrayZ[2] + arrayZ[3] + arrayZ[4] + arrayZ[5] + arrayZ[6]);
    }
}

成果/实际产出:

Your first array element is: 0
0
0
0
0
0

线程“主”中的异常java.lang.ArrayIndexOutOfBoundsException:在day7.main处为7(day7.java:14)

您的代码是正确的,唯一的问题是按照incrementingprinting顺序进行。

public static void main(String[] args) {
    int arrayZ[] = new int[7];

    arrayZ[0] = 0;
    System.out.println("Your first array element is: " + arrayZ[0]);

    int i = 1;
    while (i <= 6)  {
        arrayZ[i] = i;
        System.out.println(arrayZ[i]);
        i++;
    }
    System.out.println("Each entry of the array is: " + arrayZ[0] + " " + arrayZ[1] + " " + arrayZ[2] + " " + arrayZ[3] + " " + arrayZ[4] + " " + arrayZ[5] + " " + arrayZ[6]);
    System.out.println("And, the sum of all array elements are: " + (arrayZ[0] + arrayZ[1] + arrayZ[2] + arrayZ[3] + arrayZ[4] + arrayZ[5] + arrayZ[6]));
}

另外,您需要首先对各项求和,因此需要使用方括号,然后对String使用+会将其他变量转换为String ,并显示并置结果。 输出为:

您的第一个数组元素是:0
1个
2
3
4
5
6
数组的每个条目是:0 1 2 3 4 5 6
并且,所有数组元素的总和为:21

如果您的循环计数器具有固定范围(在您的情况下为1到6),则最好使用for循环。

只需在i ++和System.out.println(arrayZ [i])之间切换即可;

如果要计算总和,只需将它们添加到新变量中或使用();

public static void main(String[] args) {
    int arrayZ[] = new int[7];

    arrayZ[0] = 0;
    System.out.println("Your first array element is: " + arrayZ[0]);

    int i = 1;
    while (i <= 6) {
        arrayZ[i] = i;
        System.out.println(arrayZ[i]);
        i++;
    }
    System.out.println("Each entry of the array is: " + arrayZ[0] + " " + arrayZ[1] + " " + arrayZ[2] + " " + arrayZ[3] + " " + arrayZ[4] + " " + arrayZ[5] + " " + arrayZ[6]);
    System.out.println("And, the sum of all array elements are: " + (arrayZ[0] + arrayZ[1] + arrayZ[2] + arrayZ[3] + arrayZ[4] + arrayZ[5] + arrayZ[6]));
}

更改为此:

while (i <= 6){
    arrayZ[i] = i;
    System.out.println(arrayZ[i]);
    i++;
}

因为您使用它的方式,它会尝试打印不存在的arrayZ [7]。

  • 只需在i ++和System.out.println(arrayZ [i])之间切换即可;

  • 如果要计算总和,只需将它们添加到新变量中或使用();

     public static void main(String[] args) { int arrayZ[] = new int[7]; arrayZ[0] = 0; System.out.println("Your first array element is: " + arrayZ[0]); int i = 1; while (i <= 6) { arrayZ[i] = i; System.out.println(arrayZ[i]); i++; } System.out.println("Each entry of the array is: " + arrayZ[0] + " " + arrayZ[1] + " " + arrayZ[2] + " " + arrayZ[3] + " " + arrayZ[4] + " " + arrayZ[5] + " " + arrayZ[6]); System.out.println("And, the sum of all array elements are: " + (arrayZ[0] + arrayZ[1] + arrayZ[2] + arrayZ[3] + arrayZ[4] + arrayZ[5] + arrayZ[6])); 

    }

如下更改while循环代码

while (i <= 6){
    arrayZ[i] = i;
    System.out.println(arrayZ[i]);
    i++;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM