这个学生管理系统能够实现的有:
1、添加学生信息
2、删除学生信息
3、修改学生信息
4、查询学生信息
package venus;
public class Student {
private String id;
private String name;
private String mobile;
private String address;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "Student [id=" + id + ", name=" + name + ", mobile=" + mobile + ", address=" + address + "]";
}
}
package venus;
import java.util.Scanner;
public class Main {
static int index = 0;
static Student [] students = new Student[45];
public static void main(String[] args) {
System.out.println("**********************************");//开头,说明是什么系统
System.out.println("* 欢迎使用学生管理系统 *");
System.out.println("**********************************");
for(;;) {//一个无休止循环使得这个系统重复运行
menu();
}
}
private static void menu() {//系统总体
System.out.println("1、添加学生信息");//此系统功能
System.out.println("2、删除学生信息");
System.out.println("3、修改学生信息");
System.out.println("4、查询学生信息");
System.out.println("请输入操作项,点击Enter键");
Scanner scanner = new Scanner(System.in);
int option = scanner.nextInt();
switch (option) {//判断用户想要执行的是哪一个操作项
case 1:{//添加学生信息
if(index >= students.length){//判断班级成员是否已满
System.out.println("班级成员已满,无法继续添加新成员");
return;
}
else {
Student student = new Student();
System.out.print("姓 名:");//添加学生姓名
String name = scanner.next();
student.setName(name);
System.out.print("学 号:");//添加学生学号
String id = scanner.next();
student.setId(id);
if(index != 0) {//判断新添加的学生学号是否已存在
for (Student stu : students) {
if(stu == null) {
break;
}
if(stu.getId().equals(student.getId())) {
System.out.println("该学号已存在,请重新输入操作项");
return;
}
}
}
System.out.print("手机号码:");//添加学生手机号码
String mobile = scanner.next();
student.setMobile(mobile);
System.out.print("家庭地址:");//添加学生家庭地址
String address = scanner.next();
student.setAddress(address);
students[index] = student;//将此学生的信息添加到数组
index = index + 1;//位置下移,为下一个学生信息添加做铺垫
System.out.println("添加成功!");
System.out.println("该学生为第"+index+"个学生");
}
return;
}
case 2:{//删除学生信息
boolean flag = false;
boolean yunxing = false;
System.out.println("请输入想要删除的学生信息的学号:");
String id = scanner.next();
int i = 0;//从该数组的第一个元素开始
for (Student stu : students) {//判断该班级是否有此学生
if(stu == null) {
break;
}
if(stu.getId().equals(id)) {//判断该班级是否有此学生
for(;i < students.length; i++) {//删除第 i 个元素,后面的元素前移
if(i == students.length - 1) {//满员将最后一个变为null
students[i] = null;
break;
}
students[i] = students[i + 1];
if(students[i + 1] == null) {//如果i+1个元素为null,直接跳出
break;
}
}
index = index - 1;//班级人数减一
flag = true;
yunxing = true;
break;
}
i = i + 1;
}
if(!flag) {//如果班级没有此人
System.out.println("删除失败!该班级没有此人。");
}
if(yunxing) {//如果删除成功
System.out.println("删除成功!");
}
return;
}
case 3:{//修改学生信息
System.out.println("请输入学号修改该学生的信息:");
String id = scanner.next();
for (Student stu : students) {//判断该班级是否有此学生
if(stu == null) {
break;
}
if(stu.getId().equals(id)) {
System.out.print("姓 名:");//修改后的姓名
String name = scanner.next();
stu.setName(name);
System.out.print("手机号码:");//修改后的手机号码
String mobile = scanner.next();
stu.setMobile(mobile);
System.out.print("家庭地址:");//修改后的家庭地址
String address = scanner.next();
stu.setAddress(address);
System.out.println("修改成功!");
return;
}
}
System.out.println("查询失败!该班级没有学号为"+id+"的学生,无法修改!");
return;
}
case 4:{//查询学生信息
System.out.println("请输入想要查询学生的姓名:");
String name = scanner.next();
for (Student stu : students) {//判断该班级是否有此学生
if(stu == null) {
break;
}
if(stu.getName().equals(name)) {//输出该学生信息
System.out.println(stu);
return;
}
}
System.out.println("查询不到"+name+"的信息!");
return;
}
default://输入的操作项越界
System.out.println("系统查询不到"+option+"操作项,请重新选择:");
}
}
}