[英]Repeating Numbers In Integer Array (Java Basic Level) & Time Complexity
[英]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)
您的代码是正确的,唯一的问题是按照incrementing
和printing
顺序进行。
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.