为什么这道题里用for循环用for(int i :a)会报错呢?谢谢。
public static void main(String[] args) {
int[] a = { 1, 3, 4, 5, 6, 7 };
int max = a[0];
int min = a[0];
int sum = 0;
for (int i = 0; i < a.length; i++) {
if (max < a[i]) {
max = a[i];
}
if (min > a[i]) {
min = a[i];
}
sum += a[i];
}
System.out.println("数组中最大值为" + max);
System.out.println("数组中最小值为" + min);
System.out.println("数组中各元素的和为" + sum);
}
两种for循环的值调用方式不一样,下面的代码试过,可以执行,你看看哪里不一样
public static void main(String[] args) {
int[] a = { 1, 3, 4, 5, 6, 7 };
int max = a[0];
int min = a[0];
int sum = 0;
for (int i = 0; i < a.length; i++) {
if (max < a[i]) {
max = a[i];
}
if (min > a[i]) {
min = a[i];
}
sum += a[i];
}
System.out.println("数组中最大值为" + max);
System.out.println("数组中最小值为" + min);
System.out.println("数组中各元素的和为" + sum);
sum = 0;
for ( int i : a) {
if (max < i) {
max = i;
}
if (min > i) {
min = i;
}
sum += i;
}
System.out.println("数组中最大值为" + max);
System.out.println("数组中最小值为" + min);
System.out.println("数组中各元素的和为" + sum);
}
输出结果:
数组中最大值为7
数组中最小值为1
数组中各元素的和为26
数组中最大值为7
数组中最小值为1
数组中各元素的和为26
换成for(int i :a) i并不是下标,是值