为什么不能输出了,你们的打开能输出吗?还是说我的电脑有问题。


import java.util.Scanner;

public class ArrayDem {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入学生个数: ");
        int number = scanner.nextInt();
        
        int[] scores = new int[number];
        System.out.println("请输入" + number+ "个学生成绩: ");
        for(int i = 0;i <= scores.length;i++) {
            scores[i] = scanner.nextInt();
        }
            int maxScore = 0;
            for(int i = 0;i < scores.length;i++) {
               if(scores[i] > maxScore) {
                   maxScore = scores[i];       
               }
              
   }
              char level;
              for(int i = 0;i < scores.length;i++) {
                  if(maxScore - scores[i] <= 10) {
                      level = 'A';
                  }else if(maxScore - scores[i] <= 20) {
                      level = 'B';
                  }else if(maxScore - scores[i] <= 30) {
                      level = 'C';
                  }else  {
                      level = 'D';
            }
                  System.out.println("student" + i + "score is" + scores[i] + "grade is" + level);
        }
    }
        
}

将 for(int i = 0;i <= scores.length;i++)改为 for(int i = 0;i < scores.length;i++),否则的话会需要多输入一个数据,才能输出

 
import java.util.Scanner;
 
public class ArrayDem {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入学生个数: ");
        int number = scanner.nextInt();
        
        int[] scores = new int[number];
        System.out.println("请输入" + number+ "个学生成绩: ");
        for(int i = 0;i < scores.length;i++) {
            scores[i] = scanner.nextInt();
        }
            int maxScore = 0;
            for(int i = 0;i < scores.length;i++) {
               if(scores[i] > maxScore) {
                   maxScore = scores[i];       
               }
              
   }
              char level;
              for(int i = 0;i < scores.length;i++) {
                  if(maxScore - scores[i] <= 10) {
                      level = 'A';
                  }else if(maxScore - scores[i] <= 20) {
                      level = 'B';
                  }else if(maxScore - scores[i] <= 30) {
                      level = 'C';
                  }else  {
                      level = 'D';
            }
                  System.out.println("student" + i + "score is" + scores[i] + "grade is" + level);
        }
    }
        
}

希望对题主有所帮助!可以的话,帮忙点个采纳!

import java.util.Scanner;

public class ArrayDem {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入学生个数: ");
        int number = scanner.nextInt();

        int[] scores = new int[number];
        System.out.println("请输入" + number+ "个学生成绩: ");
        for(int i = 0;i < scores.length;i++) {
            scores[i] = scanner.nextInt();
        }
        int maxScore = 0;
        for(int i = 0;i < scores.length;i++) {
            if(scores[i] > maxScore) {
                maxScore = scores[i];
            }

        }
        char level;
        for(int i = 0;i < scores.length;i++) {
            if(maxScore - scores[i] <= 10) {
                level = 'A';
            }else if(maxScore - scores[i] <= 20) {
                level = 'B';
            }else if(maxScore - scores[i] <= 30) {
                level = 'C';
            }else  {
                level = 'D';
            }
            System.out.println("student" + i + "score is" + scores[i] + "grade is" + level);
        }
    }
}

img

img

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632