请教取最小值出来是0,该如何改?

package ArrayDemo;
/*从键盘输入学生成绩,找出最高分,并输出学生成绩等级;
成绩 >=最高分-10 等级为A
成绩 >=最高分-20 等级为B
成绩 >=最高分-30 等级为C
其余为 等级为D

提示:先输入学生人数,根据人数创建int数组,存放学生成绩;
*/
import java.util.Scanner;
public class ArrayTest5 {
public static void main(String[] args){
Scanner scan = new Scanner(System.in);//使用Scanner,读取学生个数
System.out.print("输入学生人数:");
int number = scan.nextInt();// 用来存储学生人数
//创建数组,存储学生成绩:动态初始化
int[] scores = new int[number];
int maxScore = scores[0];//max初始化
int minScore = scores[0];//min初始化
//给数组元素赋值
int sum = 0;
for (int i = 0; i < scores .length; i++) {
System.out.println("请输入" + (i + 1) + "个学生成绩");
scores[i] = scan.nextInt();//存储学生成绩
sum += scores[i];
if (maxScore < scores[i]) {
maxScore = scores[i];//不断循环对比出最大值
}
if (minScore > scores[i]) {
minScore = scores[i];//不断循环对比出最小值
}
}
double sav = sum/number;
System.out.println("最高分是:" + maxScore);
System.out.println("最低分是:" + minScore);
System.out.println("总分为:" + sum);
System.out.println("平均分为" + sav);

for (int i = 0; i < scores.length; i++) {
char lavel;
if (scores[i] >= maxScore-10) {
lavel = 'A';
} else if(scores[i] >= maxScore-20) {
lavel = 'B';
} else if(scores[i] >= maxScore-30) {
lavel = 'C';
}else{
lavel = 'D';
}
System.out.println("第" + (i+1)+ "为学生的分数是" + scores[i] + " 等级为 "+ lavel);

}
}

}

第1个回答  2021-09-16

int minScore = 101;//min初始化

本回答被提问者采纳
第2个回答  2021-09-15

int minScore = 101;//min初始化

追问

大佬请问为什么改101就可以啊,能解释一下吗

追答

你把if的逻辑仔细推演一下就知道了。

相似回答