m0_46363307
管德昭
采纳率50%
2020-04-29 16:44

for(int i :a)报错问题。

为什么这道题里用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);
}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • hello8817 墨湖光头 1年前

    两种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
    
    点赞 1 评论 复制链接分享
  • jax_yeah jax_yeah 1年前

    换成for(int i :a) i并不是下标,是值

    点赞 1 评论 复制链接分享
  • yanzhenzhen110 yzz110119 1年前

    条件没写完吧,都没执行到条件里面去。

    点赞 评论 复制链接分享

相关推荐