为了账号安全,请及时绑定邮箱和手机立即绑定

求高手帮忙看看 为什么无法编译

public class HelloWorld {

    

    public static void main(String[] args) {

        

// 定义一个整型数组,并赋初值

int[] nums = new int[] { 61, 23, 4, 74, 13, 148, 20 };

        

int max = nums[0]; // 假定最大值为数组中的第一个元素

int min = nums[0]; // 假定最小值为数组中的第一个元素

double sum = 0;// 累加值

double avg = 0;// 平均值

        

for (int i = 0; i < nums.length; i++) { // 循环遍历数组中的元素

        // 如果当前值大于max,则替换max的值

for( max = nums[0];nums[i]>max;max=nums[i]);

        

        

        

        

        // 如果当前值小于min,则替换min的值

            for( min = nums[0];nums[i]<min;min=nums[i]);

        

        

        // 累加求和

        for(sum=nums[0];sum!=nums[6];sum+=nums[i+1]);

        

}

        

        // 求平均值

       avg=sum/7;

        

System.out.println("数组中的最大值:" + max);

System.out.println("数组中的最小值:" + min);

System.out.println("数组中的平均值:" + avg);


    }

}


正在回答

5 回答

为何for循环里什么都没有,最后一个for循环还是死循环!

0 回复 有任何疑惑可以回复我~
#1

夜色saree 提问者

非常感谢!
2015-02-14 回复 有任何疑惑可以回复我~

for(int i=0;i<nums.length;i++){

代码块;

}

for语句句式是这样的,楼主里面的for语句直接用分号结束了,后面没有大括号和代码块。所以报错了。

1 回复 有任何疑惑可以回复我~

最后一个for循环的sum每次执行都会初始化为nums[0](61),61永远!=num[6](20),进行死循环。

0 回复 有任何疑惑可以回复我~

sum += nums[i];是累加和

sum == nums【6】 ???不可能

0 回复 有任何疑惑可以回复我~

为何这么钟情于for循环,刚开始还是用if语句吧,更好理解,

if(nums[i]>max)

{

max=nums[i];

}

还有最后一个for循环中,nums[6]=20,所以sum永远不等于20,死循环,

为何不写的简单点,也不难为自己

for(int i= 0;i<nums.length;i++)

{

sum = sum + i;

}

代码或许不一定要写的多高端,但是一定要便于理解

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

求高手帮忙看看 为什么无法编译

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信