添加成功后显示所有信息 显示不出来
public void mainMenu() {
System.out.println("*******************************************");
System.out.println(" **主菜单** ");
System.out.println(" 1--班级管理 ");
System.out.println(" 2--学生管理 ");
System.out.println(" 0--退出 ");
System.out.println("*******************************************");
}
// 学校管理菜单
public void schoolMenu() {
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(" 9--返回上一级菜单 ");
System.out.println("*******************************************");
}
// 班级管理菜单
public void banjiMenu() {
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(" 9--返回上一级菜单 ");
System.out.println("*******************************************");
}
// 主流程
public void test() {
TestDemo td = new TestDemo();
Scanner sc = new Scanner(System.in);
School s = new School();
// 创建一个主学生列表
Banji mainBanji = new Banji("c001", "主学生列表");
// 创建一个普通班级
Banji twoBanji = null;
int input1 = 0, input2 = 0, input3 = 0;
while (true) {
td.mainMenu();
System.out.println("请输入指定的数字进行操作");
try {
input1 = sc.nextInt();
} catch (InputMismatchException e) {
System.out.println("输入错误请输入指定的数字进行操作");
sc.next();
continue;
}
if (input1 == 0) {
break;
}
switch (input1) {
case 1:
while (true) {
td.schoolMenu();
System.out.println("请输入指定的数字进行操作");
try {
input2 = sc.nextInt();
} catch (InputMismatchException e) {
System.out.println("输入错误请输入指定的数字进行操作");
sc.next();
continue;
}
if (input2 == 9) {
break;
}
switch (input2) {
case 1:
//先看添加的班级是否存在
System.out.println(" 1--创建班级 ");
System.out.println("请输入要添加的班级编号");
String strId1=sc.next();
System.out.println("请输入要添加的班级名称");
String strName1=sc.next();
twoBanji=s.searchByName(strId1);
if(twoBanji==null) {
twoBanji=new Banji(strId1,strName1);
s.addClass(twoBanji);
}else{
System.out.println("输入的班级已经存在,请不要重复添加");
}
break;
case 2:
System.out.println(" 2--删除班级 ");
System.out.println("请输入要删除班级的名称");
String str2=sc.next();
Banji banji2=s.searchByName(str2);
if(banji2==null) {
System.out.println("没有找到该列表请重新输入");
break;
}else{
s.deleteStudent(banji2);
}
break;
case 3:
System.out.println(" 3--通过班级名称查询班级信息 ");
System.out.println("请输入想查询的班级名称");
String str3=sc.next();
Banji banji3=s.searchByName(str3);
if(banji3==null) {
System.out.println("学校里没有该班级");
}else {
banji3.displayAllStudent();
}
break;
case 4:
System.out.println(" 4--对各班语文成绩按平均分进行由大到小排序 ");
System.out.println();
break;
case 5:
System.out.println(" 5--对各班数学成绩按平均分进行由大到小排序 ");
break;
case 6:
System.out.println(" 6--显示所有班级名称 ");
break;
}
}
break;
case 2:
while (true) {
td.banjiMenu();
System.out.println("请输入指定的数字进行操作");
try {
input3 = sc.nextInt();
} catch (InputMismatchException e) {
System.out.println("输入错误请输入指定的数字进行操作");
sc.next();
continue;
}
if (input3 == 9) {
break;
}
switch (input3) {
case 1:
System.out.println(" 1--添加学生信息到主学生列表 ");
System.out.println("请输入想添加学生信息的数量");
int count1=0;
try{count1=sc.nextInt();}
catch(InputMismatchException e) {
System.out.println("输入错误请输入正确的数字");
sc.next();
continue;
}
for(int i=1;i<=count1;i++) {
System.out.println("请输入第"+i+"个学生的Id");
String strId1=sc.next();
System.out.println("请输入学生的姓名");
String strName1=sc.next();
Student stu1=new Student(strId1,strName1);
mainBanji.addStudent(stu1);
}
break;
case 2:
System.out.println(" 2--添加学生信息到普通班级 ");
System.out.println("请输入想要添加学生信息的班级名字");
String strBanjiName2=sc.next();
Banji banji2=s.searchByName(strBanjiName2);
if(banji2==null) {
System.out.println("学校里没有这个班级请重新输入");
}else {
System.out.println("请输入想添加学生的数量");
int count2=0;
try{count2=sc.nextInt();}
catch(InputMismatchException e) {
System.out.println("请输入正确的数字进行操作");
sc.next();
continue;
}
for(int i=1;i<=count2;i++) {
System.out.println("请输入第"+i+"个学生的ID");
String strId2=sc.next();
Student stu=mainBanji.searchStuById(strId2);
if(stu==null) {
System.out.println("该学生自动添加到主学生列表,请继续输入");
System.out.println("请输入学生的名字");
String strName2=sc.next();
Student stu2=new Student(strId2,strName2);
mainBanji.addStudent(stu2);
twoBanji.addStudent(stu2);
}
else {
twoBanji.addStudent(mainBanji.getStuList().get(i));
}
}
}
break;
case 3:
System.out.println(" 3--通过学号名称查询学生信息 ");
System.out.println("请输入想查询学生所在的班级");
String str3=sc.next();
Banji b3=s.searchByName(str3);
if(b3==null) {
System.out.println("学校里没有该班级,请重新操作");
break;
}else {
System.out.println("请输入想查询学生的学号");
String strId3=sc.next();
Student stu3=b3.searchStuById(strId3);
if(stu3==null) {
System.out.println("该班没有这个学生");
break;
}else {
System.out.println(b3.searchStuById(strId3));
}
}
break;
case 4:
System.out.println(" 4--输入班级的语文成绩 ");
System.out.println("请输入想添加语文成绩的班级名称");
String str4=sc.next();
Banji b4=s.searchByName(str4);
if(b4==null) {
System.out.println("该学校没有这个班级,请重新输入");
}else {
for(Student s1:b4.getStuList()) {
System.out.println(b4.searchStuById(s1.getStuNum()));
System.out.println("请输入学生的语文成绩");
float strScore4=sc.nextFloat();
s1=new Student(s1.getStuNum(),s1.getStuName());
b4.inputStuChinese(s1.getStuNum(), strScore4);
}
}
break;
case 5:
System.out.println(" 5--输入班级的数学成绩 ");
break;
case 6:
System.out.println(" 6--删除学生信息 ");
break;
case 7:
System.out.println(" 7--显示所有学生信息");
System.out.println("请输入查询班级的名称");
String banji7=sc.next();
Banji ban7=s.searchByName(banji7);
if(ban7==null) {
System.out.println("学校里没有这个班级");
}else {
ban7.displayAllStudent();
}
break;
}
}
break;
default:
System.out.println("请输入指定的数字进行操作");
break;
}
}
}public Banji(String classId,String classNum) {
this.classId=classId;
this.className=classNum;
stuList=new ArrayList<Student>();
}
public String getClassId() {
return classId;
}
public void setClassId(String classId) {
this.classId = classId;
}
public String getClassNum() {
return className;
}
public void setClassNum(String classNum) {
this.className = classNum;
}
public List<Student> getStuList() {
return stuList;
}
public void setStuList(List<Student> stuList) {
this.stuList = stuList;
}
/**
* 添加学生到主班级的方法
* @param stu 要添加的学生信息
*/
public void addStudent(Student stu) {
//避免重复添加
boolean flag=false;
for(Student s:stuList) {
if(s.getStuNum().equals(stu)) {
flag=true;
break;
}
}
if(flag) {
System.out.println("你添加的学生已经存在请不要重复添加");
}else {
stuList.add(stu);
}
}
/**
* 通过学号查询学生信息
* @param stuNum 要查询学生的学号
* @return 要查询的学生信息
*/
public Student searchStuById(String stuNum) {
Student stu=null;
for(Student s:stuList) {
if(s.getStuNum().equals(stuNum)) {
stu=s;
}
}
return stu;
}
/**
* 输入班级学生的数学成绩
* @param stuNum 学号
* @param score 输入的成绩
*/
public void inputStuMath(String stuNum,float score) {
Student stu=searchStuById(stuNum);
if(stu==null) {
System.out.println("没有找到该学生");
}else {
stu.setMath(score);
}
}
/**
* 显示班级信息
*/
public String toString() {
return "班级信息 [班级Id为:" + classId + ",班级名字为:" + className + "]";
}
/**
* 输入班级学生的语文成绩
* @param stuNum 学号
* @param score 输入的成绩
*/
public void inputStuChinese(String stuNum,float score) {
Student stu=searchStuById(stuNum);
// System.out.println(stu);
// if(stu==null) {
// System.out.println("没有找到该学生");
// }else {
stu.setChinese(score);
System.out.println("添加成功");
// }
}
/**
* 删除学生信息
* @param stuNum 需要删除的学生的学号
*/
public void deleteStudent(String stuNum) {
Student stu=searchStuById(stuNum);
if(stu==null) {
System.out.println("没有找到该学生");
}else {
stuList.remove(stu);
System.out.println("删除成功");
}
}
/**
* 显示所有学生信息
*/
public void displayAllStudent() {
for(Student s:stuList) {
System.out.println(s);
}
}
}17
收起
正在回答 回答被采纳积分+1
1回答
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程

恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星