任务描述: 编写程序,输入n个(0<n<50)学生的成绩(输入-1结束),要求统计并输出优秀(大任务描述:于85)、及格(60~84)和不及格(小于60)的学生人数。(成绩取值范围0~100)
任务要求:
代码示例:
/**
* 这个程序用于统计输入的学生成绩中,优秀、及格、不及格的人数,并输出成绩统计结果。
*/
package April_2024;
import java.util.ArrayList;
import java.util.Scanner;
public class a240411 {
public static void main(String[] args) {
// 初始化人数计数器
int excellentCount = 0; // 优秀人数
int passingCount = 0; // 及格人数
int failingCount = 0; // 不及格人数
// 提示用户输入学生成绩
System.out.println("请输入n个学生成绩(输入-1结束):");
// 使用Scanner读取输入
Scanner scanner = new Scanner(System.in);
while (true) {
// 尝试读取一个成绩
int grade = scanner.nextInt();
// 如果输入为-1,结束输入
if (grade == -1) {
break;
}
// 检查成绩的有效性
if (grade < 0 || grade > 100) {
System.out.println("输入的成绩值无效,请确保成绩在0到100之间或输入-1结束输入。");
continue; // 跳过这次循环,继续下一次输入
}
// 根据成绩,更新人数计数器
if (grade > 85) {
excellentCount++;
} else if (grade >= 60 && grade <= 84) {
passingCount++;
} else if (grade < 60) {
failingCount++;
}
}
scanner.close(); // 关闭Scanner
// 输出成绩统计结果
System.out.println("\n成绩统计结果如下:");
System.out.println("优秀(大于85):" + excellentCount);
System.out.println("及格(60~84):" + passingCount);
System.out.println("不及格(小于60):" + failingCount);
}
}