问答详情
源自:6-6 编程练习

麻烦帮我看下这个,编译得时候能输入,但是不能输出出来

import java.util.Scanner;
public class HelloWorld{
   public static void main(String[] args){
     Scanner sc=new Scanner(System.in);
    int[] nums=new int[7];//定义一个长度为5的动态数组,用来存储成绩
    int max=nums[0];//最大数
    int min=nums[0];//小数
    double sum=0;//总分
    double avg=0;//平均数
    for(int i=0;i<=(nums.length);i++){
    int num=sc.nextInt();
    nums[i]=num;//录入当中的值
    if(nums[i]>max){
    max=nums[i];
    }else if(nums[i]<min){
    min=nums[i];
    }else{}
    sum+=nums[i];}
    avg=sum/nums.length;
    System.out.println("数组中的最大值为:"+max);
    System.out.println("数组中的最小值为:"+min);
    System.out.println("数组中的平均值为:"+avg);
   }
}

提问者:努力0拼命 2019-10-15 16:10

个回答

  • 慕少3278680
    2019-11-06 14:25:40

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

    i如果等于nums.length就越界了  只能小于

  • 慕少724985
    2019-10-31 10:28:28

    数组中并没有具体的数字在里面,你就定义了它的长度,没内容当然输出不了

  • 努力0拼命
    2019-10-18 19:00:30

    因为我定义了一个长度为7的,注释是5那条不用管

  • qq_等你来追我_0
    2019-10-15 17:10:46

    缺少定义一个长度为5的动态数组,用来存储成绩