package com.temp;
import java.util.Arrays;
import java.util.Scanner;
/**
* @Description :
* @Date: 2022-12-07 17:58
*/
public class StudentInfo {
public void menu(Student[] stu) //将异常抛出,调用这个方法去处理异常,如果main方法也将异常抛出,则交给Java虚拟机来处理,下同.
{
Scanner in=new Scanner(System.in);
System.out.println("**欢迎进入学生成绩管理系统*************");
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("***** 6.修改学生信息 ******");
System.out.println("***** 7.按成绩排序学生信息 ******");
System.out.println("***** 8.按学号排序学生信息 ******");
System.out.println("***** 9.按姓名排序学生信息 ******");
System.out.println("***** 10.学生对象数组扩容 ******");
System.out.println("***** 11.学生成绩分段输出 ******");
System.out.println("***** 0.退出 ******");
System.out.println("******************************************");
System.out.print("请输入数字选项(0 ~ 11):");
int a = in.nextInt();
while(a<0||a>11)
{
System.out.print("输入无效,请重新输入:");
a=in.nextInt();
}
switch(a)
{
case 1:inputstu(stu);break;
case 2:this.show(stu);break;
case 3:this.Pingfen(stu);break;
case 4:this.Topchengji(stu);break;
case 5:this.search(stu);break;
case 6: this.change(stu);break;
case 7: this.sortcj(stu);break;
case 8: this.sortxh(stu);break;
case 9: this.sortname(stu);break;
case 10: this.kuorong(stu);break;
case 11: this.printMsg(stu);break;
case 0:System.out.println("成功退出系统!!!");System.exit(0);break;
}
}
private void inputstu(Student[] stu) {
while (true){
Scanner sc = new Scanner(System.in);
System.out.println("请输入学号");
int id = sc.nextInt();
System.out.println("请输入姓名");
String name = sc.next();
System.out.println("请输入成绩");
int chengji = sc.nextInt();
Student s = new Student(id,name,chengji);
stu[Student.sumstu-1] = s;
System.out.println("是否继续录入 Y/N ?");
String continueFlag = sc.next();
if("N".equalsIgnoreCase(continueFlag)){
menu(stu);
break;
}
}
}
// 所有学生成绩信息
private void show(Student[] stu) {
System.out.println("所有学生成绩信息如下:");
for (Student student : stu) {
if(student != null){
student.print();
}
}
menu(stu);
}
//求所有学生的成绩平均分
double Pingfen(Student[] stu){
System.out.println("学生平均成绩信息如下:");
int cj = 0;
for (Student student : stu) {
if(student != null){
cj += student.chengji;
}
}
System.out.println("平均成绩:" + (cj/Student.sumstu));
menu(stu);
return 0;
}
public Student[] Topchengji(Student[] stu){ //查找成绩最高的学生
System.out.println("最高学生成绩信息如下:");
int cj = 0;
for (Student student : stu) {
if(student != null){
if(student.getChengji() > cj){
cj = student.getChengji();
}
}
}
for (Student student : stu) {
if(student != null){
if(student.getChengji() == cj){
student.print();
}
}
}
menu(stu);
return null;
}
public Student search (Student[] stu){ //查找学生
System.out.println("输入需要查询的学生姓名:");
int searchid = -1;
Scanner sc = new Scanner(System.in);
String tmpname = sc.next(); //按输入的姓名去查找
for (Student student : stu) {
if(student != null){
if(tmpname.equalsIgnoreCase(student.getName())){
searchid = 0;
student.print();
}
}
}
if (searchid == -1){
System.out.println("没有符合条件的学生");
return null;
}
menu(stu);
return null;
}
public Student change(Student[] stu){ //修改给定名字的学生成绩
System.out.println("输入需要修改的学生姓名:");
Scanner sc = new Scanner(System.in);
String tmpname = sc.next();
for (Student student : stu) {
if(student != null){
if(tmpname.equalsIgnoreCase(student.getName())){
student.print();
}
}
}
System.out.println("请输入修改成绩:");
sc = new Scanner(System.in);
int score = sc.nextInt();
for (Student student : stu) {
if(student != null){
if(tmpname.equalsIgnoreCase(student.getName())){
student.setChengji(score);
student.print();
}
}
}
menu(stu);
return null;
}
public Student[] sortcj(Student[] stu){ //按成绩排序,放到新的数组中
System.out.println("排序后学生信息如下:");
Student[] students = Arrays.copyOf(stu, Student.sumstu);
Arrays.sort(students,(o1,o2)->{
if(o1.getChengji()>o2.getChengji())return 1;
else return -1;
});
for (Student student : students) {
student.print();
}
menu(stu);
return null;
}
public Student[] sortxh(Student[] stu){
System.out.println("排序后学生信息如下:");
Student[] students = Arrays.copyOf(stu, Student.sumstu);
Arrays.sort(students,(o1,o2)->{
if(o1.getId()>o2.getId())return 1;
else return -1;
});
for (Student student : students) {
student.print();
}
menu(stu);
return null;
}
public Student[] sortname(Student[] stu){
System.out.println("排序后学生信息如下:");
Student[] students = Arrays.copyOf(stu, Student.sumstu);
Arrays.sort(students);
for (Student student : students) {
student.print();
}
menu(stu);
return null;
}
public Student[] kuorong(Student[] stu){
System.out.println("学生信息扩容进行中......");
Student[] students = Arrays.copyOf(stu, stu.length+20);
System.out.println("学生信息扩容完成......");
menu(students);
return null;
}
public Student[] printMsg(Student[] stu){
int a = 0,b = 0,c = 0,d = 0,e = 0;
Student[] students = Arrays.copyOf(stu,
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
系统功能如下所示: 1)录入学生成绩信息 2)显示学生成绩信息 3)计算平均成绩 4)显示最高成绩 5)按姓名查找学生信息 6)修改学生成绩信息 7)按成绩排序学生信息 8)按学号排序学生信息 9)按姓名排序学生信息 10)学生对象数组扩容 11)学生成绩分段输出
资源推荐
资源详情
资源评论
收起资源包目录
codoe2323we.zip (3个子文件)
codoe2323we
StudentInfo.java 9KB
MyPro.java 291B
Student.java 2KB
共 3 条
- 1
资源评论
程序猿小D
- 粉丝: 4188
- 资源: 842
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功