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

麻烦大神给看看,错在哪里啊

package com.imook;

/*

 *1、 定义一个整型数组,并赋初值 61, 23, 4, 74, 13, 148, 20


2、 定义变量分别保存最大值、最小值、累加值和平均值,并假设数组中的第一个元素既为最大值又为最小值


3、 使用 for 循环遍历数组中的元素,分别与假定的最大值和最小值比较。如果比假定的最大值要大,则替换当前的最大值;如果比假定的最小值要小,则替换当前的最小值


4、 循环执行过程中对数组中的元素进行累加求和


5、 循环结束根据累加值计算平均值,并打印输出相关内容

 */

public class Demo02 {

    public static void main(String[] args) {

int[] nums={61,23,4,74,13,148,20};//定义数组

int max=nums[0];//假设第一位为最大值

int min=nums[0];//假设第一位为最小值

double sum=0;//设定sum为累加求和

double avg=0;//设定avg为平均值

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

if(nums[i]>max){

max=nums[i];

}else{

if(nums[i]<min){

min=nums[i];

}

}

sum=sum+nums[i];

}

avg=sum/nums.length;

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

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

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

System.out.println("数组求和"+sum);

}

}


正在回答

8 回答

for循环内“<=”,数组越界

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

慕粉1473234501 提问者

非常感谢!
2016-09-19 回复 有任何疑惑可以回复我~
#2

小蝎子訫圊小Q 回复 慕粉1473234501 提问者

为什么要加个else语句
2016-10-06 回复 有任何疑惑可以回复我~

把else 去掉,使用两个if与else没有关系

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

你这个就不对

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

为什么 if 语句后你用了一个else 语句

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

http://img1.sycdn.imooc.com//57d621980001e99708160616.jpg数组下标越界了,数组从0开始,取不到nums.length

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

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

这一行改为

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

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

nums.length();调用方法要括号

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

慕粉3961178

错了错了,抱歉
2016-09-12 回复 有任何疑惑可以回复我~

public class Demo02 {

    public static void main(String[] args) {

int[] nums={61,23,4,74,13,148,20};//定义数组

int max=nums[0];//假设第一位为最大值

int min=nums[0];//假设第一位为最小值

double sum=0;//设定sum为累加求和

double avg=0;//设定avg为平均值

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

if(nums[i]>max){

max=nums[i];

}else if(nums[i]<min){

min=nums[i];

}

sum=sum+nums[i];

}

avg=sum/nums.length;

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

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

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

System.out.println("数组求和"+sum);

}

}


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

举报

0/150
提交
取消

麻烦大神给看看,错在哪里啊

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