1.定义长度为10的数组用于存储学生的姓名,基于此数组完成学生管理系统如下功能:1.入学 2.退学 3.查看所有学生 4.查找学生是否存在 5.退出系统。在用户选择“5.退出系统”之前可以反复选择使用前四项功能。
–查看所有学生
–入学
–退学
–查找学生是否存在
–退出系统
2.评分规则
(1) 定义长度为10的数组用于存储班级学生的姓名(5分)
(2)菜单编写正确(10)
①循环处理正确(5分)
②分支结构正确(5分)
(3)入学功能(15分)
①能注册成功(5分)
②班级满员后不能注册成功且给出相应提示(5分)
③班级内满10人属于满员,其它情况下都能正确注册(5分)
(4)退学功能(10分)
①能正确退学成功(退学后不能再查到该学)(5分)
②不存在要退学的学生给提示(5分)
(5)查看所有学生功能(10分)
①班级有学生能正确显示(仅显示学生姓名,不显示空数据)(5分)
②班级无学生有提示(5分)
(6)查找学生是否存在功能(10分)
①能找到该学生给出提示(5分)
②无该学生能正确给出提示(5分)
(7)退出系统功能(5分)
public class Test1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String[] students = new String[10];
int index = 0;//学生的下标
out:while(true) {
System.out.println("欢迎使用学生管理系统");
System.out.println("1.入学 2.退学 3.查看所有学生 4.查找指定学生 5,。退出系统");
int num = sc.nextInt();
switch (num) {
case 1:
System.out.println("请输入要入学的学生姓名");
String name = sc.next();
//先判断 数组已经满了
if(index<10) {
students[index]=name;
index++;
System.out.println("注册成功");
}else {
System.out.println("学员已经满了,不能再注册了");
}
break;
case 2:
System.out.println("请输入要退学的学员");
String name3 = sc.next();
boolean f2 = false;
for (int i = 0; i < index; i++) {
if(name3.equals(students[i])) {
f2=true;//将后面的元素覆盖前面的元素
for (int j = 1; j < index-1; j++) {
students[j]=students[j+1];
}
//总人数-1
index--;
System.out.println("退学成功");
break;
}
}
if(f2==false) {
System.out.println("查无此人");
}
break;
case 3:
for (int i = 0; i < index; i++) {
System.out.println(students[i]);
}
break;
case 4:
System.out.println("请输入要查找的学生");
String name2 = sc.next();
boolean f = false;
for (int i = 0; i < index; i++) {
if(name2.equals(students[i])) {
f=true;
break;
}
}
if(f) {
System.out.println("找到了");
}else {
System.out.println("不存在此学员");
}
break;
case 5:
System.out.println("退出系统");
break out;
default:
System.out.println("输入错误,请重新输入");
break;
}
}
}
}