4.学生信息管理系统
设计一个学生信息管理系统,有添加学生,查询学生,删除学生等功能.
要求:1.设计一个类学生类,学生属性有学号,姓名,性别(属性私有权限) 用来存储学生的信息
要求2:实现对学生信息的增删查操作
要求3:使用一个数组存储学生信息,数组上限定为30即可.
启动程序后输出一个菜单让用户选择操作:1.添加学生,2-删除学生,3.查询学生,4-退出
选择添加学生在控制台依次输入学号,姓名,性别等信息,将学生信息存储到一个学生对象中,
并将学生对象存储到数组中,数组容量定为30.
删除时,必须输入学号,如果学号对应的学生存在,从数组中删除该学生信息
点击查询时,必须输入学号,如果学号对应的学生存在,输出学生信息即可,不存在,输出学号有误
public class StudentManage extends com.m.clean.Student {
static Scanner scanner = new Scanner(System.in);
Student[] students = new Student[30];//[null,null,null]
int size;
/*
管理系统主方法
*/
public void menu(){
loop:while(true){
System.out.println("用户选择操作: 1.添加学生,2-删除学生,3.查询学生,4-退出");
Scanner s = new Scanner(System.in);
int item = s.nextInt();
switch (item){
case 1: this.add(); break;
case 2: this.delete(); break;
case 3: this.search(); break;
case 4: break loop;
}
}
}
/*
添加
*/
public void add(){
Student student1 = new Student();
System.out.println("请输入学生的学号");
int num = scanner.nextInt();
student1.setNum(num);
students[size]=student1;
System.out.println("请输入学生的名字");
String name = scanner.next();
student1.setName(name);
students[size]=student1;
System.out.println("请输入性别");
String gender = scanner.next();
student1.setGender(gender);
students[size]=student1;
//下一个学生填在下一个空中
size++;
}
/*
删除
*/
public void delete(){ //[s,s,null,null,null,null] 3
Scanner s = new Scanner(System.in);
System.out.println("输入学号");
int num = s.nextInt();
//数组进行遍历
int index=-1;
for(int i=0;i<size;i++){
if(students[i].getNum()==num){
students[i] = null;//删除学生信息
size--;
index = i;
}
}
if(index==-1){
System.out.println("该学号学生不存在");
}else{
for (int i=index;i<=size;i++){
students[i] = students[i+1];
}
}
System.out.println(Arrays.toString(students));
}
/*
查询
*/
public void search(){
Scanner s = new Scanner(System.in);
System.out.println("输入学号");
int num = s.nextInt();
for(int i=0;i<size;i++){
Student student = students[i];//从学生数组中取出第i个学生对象
if(student.getNum()==num){
System.out.println("学生信息: 学号:"+student.getNum() +" 姓名:"+student.getName()+" 性别:"+student.getNum());
return;
}
}
System.out.println("该学号学生不存在");
}
}