根据IDEA完成的简单学生成绩管理系统
要求:输入选项,当选择录入成绩的时候来输入各个学生的成绩,直到输入(-1)结束输入成绩,最后输出输入了几名学生的成绩,然后循环到主界面,输入其他的选项,来查询学生成绩的平均分,最高分,最低分,然后退出系统。
1、主界面
System.out.println("----学生成绩管理系统----");
System.out.println("1.录入成绩");
System.out.println("2.平均分");
System.out.println("3.最高分");
System.out.println("4.最低分");
System.out.println("5.退出系统");
System.out.println("请选择:");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
2、录入成绩
if (n == 1) {
while (true) {
System.out.println("请输入学生成绩:");
int score = sc.nextInt();
if (score == -1) {
break;
}
max = Math.max(score, max);
min = Math.min(score, min);
sum = sum + score;
count++;
}
System.out.println("你一共输入了" + count + "个学生的成绩");
}
3、平均分
if (n == 2) {
int avg = sum == 0 ? 0 : sum / count;
System.out.println("平均分" + avg);
}
4、最高分
if (n == 3) {
System.out.println("最高分" + max);
}
5、最低分
if (n == 4) {
System.out.println("最低分" + min);
}
6、退出系统
if (n == 5) {
System.out.println("谢谢使用,再见!");
break;
}
6、总结
因为每次输出都要退出循环,所以需要用到while。
在这里把整体的所有代码都copy过来。
int count = 0;
int max = -1;
int min = 101;
int sum = 0;
while (true) {
System.out.println("----学生成绩管理系统----");
System.out.println("1.录入成绩");
System.out.println("2.平均分");
System.out.println("3.最高分");
System.out.println("4.最低分");
System.out.println("5.退出系统");
System.out.println("请选择:");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
if (n == 1) {
while (true) {
System.out.println("请输入学生成绩:");
int score = sc.nextInt();
if (score == -1) {
break;
}
max = Math.max(score, max);
min = Math.min(score, min);
sum = sum + score;
count++;
}
System.out.println("你一共输入了" + count + "个学生的成绩");
}
if (n == 2) {
int avg = sum == 0 ? 0 : sum / count;
System.out.println("平均分" + avg);
}
if (n == 3) {
System.out.println("最高分" + max);
}
if (n == 4) {
System.out.println("最低分" + min);
}
if (n == 5) {
System.out.println("谢谢使用,再见!");
break;
}
}
本系统的问题
如果没有录入成绩直接选择平均分、最高分或者最低分,会出现程序报错,或者数值不对。
由于本次时间有限,下次再跟大家整理更新如何避免这个问题。
另外各位有什么想法也可以评论在下方,大家共同交流进步!!!谢谢大家!