- 主要功能
******学生信息管理系统******* 1、查询所有学生信息 2、根据学生学号查询学生 3、添加学生 3、删除学生 4、修改学生电话号码 5、退出 ***************************** |
- 抽象类
- Student:描述学生类
- 属性:学号,姓名,性别,电话
- 方法:显示详细信息
- StudentDao:操作学生信息的类,负责学生信息的管理
- 属性:Student[] 存储所有学生信息
- 方法:
- void init() :初始化两个学生信息
- Student[] getStudents():获取所有的学生
- Student searchByNo(String no) :根据学号查询学生信息
- boolean add(Student stu):添加学生
- boolean del(String no):删除学生
- boolean updatePhone(String no,String phone):根据学号修改学生电话号码
- StudentUtil:工具类,负责接收用户的输入,给用户展示结果
- 属性:StudentDao
- 方法:
- void init():初始化数据
- void menu():菜单
- void displayAll():查询所有学生信息
- void searchByNo():根据学生学号查询学生
- void add():添加学生
- void del()删除学生
- void updatePhone()修改学生电话号码
- Test:测试类,提供程序入口
- main方法
- Student:描述学生类
学生类
package StudentSystem;
//学生类
public class Student {
// ①属性:学号,姓名,性别,电话
// ②方法:显示详细信息
private String StudentID;
private String name;
private String sex;
private String phone;
// 显示学号
public String getStudentID() {
return StudentID;
}
// 设置学号
public void setStudentID(String studentID) {
this.StudentID = studentID;
}
// 显示名字
public String getName() {
return name;
}
// 设置名字
public void setName(String name) {
this.name = name;
}
// 显示性别
public String getSex() {
return sex;
}
// 设置性别
public void setSex(String sex) {
this.sex = sex;
}
// 显示电话号
public String getPhone() {
return phone;
}
// 设置电话号
public void setPhone(String phone) {
this.phone = phone;
}
}
操作学生的类
package StudentSystem;
//操作学生的类
public class StudentDao {
// ①属性:Student[] 存储所有学生信息
// ②方法:
// 1)void init() :初始化两个学生信息
// 2)Student[] getStudents():获取所有的学生
// 3)Student searchByNo(String no) :根据学号查询学生信息
// 4)boolean add(Student stu):添加学生
// 5)boolean del(String no):删除学生
// 6)boolean updatePhone(String no,String phone):根据学号修改学生电话号码
private Student[] students = new Student[2];
// 初始化两个学生信息
public void init() {
students[0] = new Student();
students[0].setStudentID("0001");
students[0].setName("张三");
students[0].setSex("男");
students[0].setPhone("13130034875");
students[1] = new Student();
students[1].setStudentID("0002");
students[1].setName("李四");
students[1].setSex("女");
students[1].setPhone("13145678952");
}
// 获取所有的学生
public Student[] getStudents() {
return students;
}
// 根据学号查询学生信息
public Student searchByNo(String no) {
Student[] st = new Student[1];
for (int i = 0; i < students.length; i++) {
if (no.equals(students[i].getStudentID())) {
st[0] = students[i];
}
}
return st[0];
}
// 添加学生信息
public boolean add(Student stu) {
students = resize(students.length + 1);
students[students.length - 1] = stu;
return true;
}
// 扩容或缩减
public Student[] resize(int len) {
Student[] arr = new Student[len];
int min = students.length < len ? students.length : len;
for (int i = 0; i < min; i++) {
arr[i] = students[i];// 将旧的数据转移到新的数组里面
}
return arr;
}
// 删除学生信息
public boolean del(String no) {
boolean f = false;// true删除成功false删除失败
for (int i = 0; i < students.length; i++) {
if (no.equals(students[i].getStudentID())) {
for (int j = i + 1; j < students.length; j++) {
students[j - 1] = students[j];
}
f = true;
students = resize(students.length - 1);
}
}
return f;
}
// 根据学号修改学生电话号码
public boolean updatePhone(String StudentID, String phone) {
for (int i = 0; i < students.length; i++) {
if (StudentID.equals(students[i].getStudentID())) {
students[i].setPhone(phone);
return true;
}
}
return false;
}
}
工具类
package StudentSystem;
//工具类
public class StudentUti {
// ①属性:StudentDao
// ②方法:
// 1)void init():初始化数据
// 2)void menu():菜单
// 3)void displayAll():查询所有学生信息
// 4)void searchByNo():根据学生学号查询学生
// 5)void add():添加学生
// 6)void del()删除学生
// 7)void updatePhone()修改学生电话号码
private StudentDao stu;
// 初始化数据
public void init() {
stu = new StudentDao();
stu.init();
}
// 菜单
public void menu() {
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("*****************************");
}
// 查询所有信息
public void displayALL() {
for (int i = 0; i < stu.getStudents().length; i++) {
if (stu.getStudents()[i] != null) {
System.out.println("学生学号:" + (stu.getStudents()[i]).getStudentID());
System.out.println("学生姓名:" + (stu.getStudents()[i]).getName());
System.out.println("学生性别:" + (stu.getStudents()[i]).getSex());
System.out.println("学生电话号:" + (stu.getStudents()[i]).getPhone() + "\n");
}
}
}
// 根据学生学号查询学生
public void searchByNo(String no) {
if (stu.searchByNo(no) != null) {
System.out.println(stu.searchByNo(no).getStudentID());
System.out.println(stu.searchByNo(no).getName());
System.out.println(stu.searchByNo(no).getSex());
System.out.println(stu.searchByNo(no).getPhone());
} else {
System.out.println("未查询到!");
}
}
// 添加学生
public void add(Student stu) {
this.stu.add(stu);
}
// 删除学生
public void del(String no) {
boolean f = stu.del(no);
if (f == true) {
System.out.println("删除成功!");
} else {
System.out.println("删除失败!");
}
}
// 修改学生号码
public void updatePhone(String no, String Phone) {
stu.updatePhone(no, Phone);
}
}
测试类
package StudentSystem;
import java.util.Scanner;
public class Text {
public static void main(String[] args) {
Scanner sca=new Scanner(System.in);
StudentUti a=new StudentUti();
Student b;
a.init();//初始化信息
while(true) {
a.menu();//打印菜单
System.out.println("请输入你的选择:");
int inget=sca.nextInt();
switch(inget) {
case 1://查询
a.displayALL();
break;
case 2://根据学号查询学生
System.out.println("请输入要查询的学号:");
a.searchByNo(sca.next());
break;
case 3://添加学生
b=new Student();
System.out.println("输入添加的学号:");
b.setStudentID(sca.next());
System.out.println("输入添加的姓名:");
b.setName(sca.next());
System.out.println("输入添加的性别");
b.setSex(sca.next());
System.out.println("输入添加的电话号:");
b.setPhone(sca.next());
a.add(b);
break;
case 4://删除学生
System.out.println("输入要删除的学号");
a.del(sca.next());
break;
case 5://修改学生电话号码
System.out.println("输入要修改电话的学号:");
String no=sca.next();
System.out.println("输入修改的电话:");
String phone=sca.next();
a.updatePhone(no, phone);
break;
case 6://退出
System.exit(0);
default:
System.out.println("输入错误!");
break;
}
}
}
}
结果展示