1.学生类
public class Student {
// 成员变量:为了后期键盘录入数据的方便,我们将其类型统一定义为String类型!
private String sid; // 学号
private String name; // 姓名
private String age; // 年龄
private String address; // 住址
// getter and setter
public String getSid() {
return sid;
}
public void setSid(String sid) {
this.sid = sid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
// 无参构造方法
public Student() {
}
// 满参构造方法
public Student(String sid, String name, String age, String address) {
this.sid = sid;
this.name = name;
this.age = age;
this.address = address;
}
}
2.界面
import java.util.Scanner;
public class StudentManager {
//整个学生管理系统的入口
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
//利用switch语句
// 3. 使用switch语句对用户的选择进行判断
while(true){
//1.一些输出语句给出的界面提示信息
System.out.println("-------------欢迎来到学生管理系统----------");
System.out.println("1 添加学生");
System.out.println("2 删除学生");
System.out.println("3 修改学生");
System.out.println("4 查看学生");
System.out.println("5 退出");
//2.键盘录入用户的选择-
System.out.println("请输入您的选择:");
String line = sc.nextLine();
switch (line) {
case "1":
// 后期这里是通过调用1个方法来实现添加学生信息的功能!
System.out.println("添加学生");
break;
case "2":
System.out.println("删除学生");
break;
case "3":
System.out.println("修改学生");
break;
case "4":
System.out.println("查看学生");
break;
case "5":
System.out.println("谢谢使用!");
// break;
return ;
default:
System.out.println("您的选择有误,请重新操作!");
break;
}
}
}
}
需要保证其他功能的实现,使用的是同一个集合对象!
快速创建方法–利用直接调用,鼠标放在标红的地方,然后 快捷键alt+回车键-----》》创建方法
3.查询学生信息
//查看学生信息:—遍历集合,得到单个学生对象,调用对应的getter获得学生信息数据并打印
public static void findStudents(ArrayList students) {
//1.对集合进行非空的判断(用户可能没有进行添加学生信息的操作,上来直接查询)
if(students.size()==0){
System.out.println(“【系统暂无学生信息数据,清先添加学生信息】”);
return;//结束方法,不让后面的代码执行!
}
//2.程序若能执行到这里说明系统有学生信息数据。打印表头
System.out.println(“[系统学生信息数据如下:]”);
System.out.println(“学号\t姓名\t年龄\t住址\t”);
//3.遍历集合
for (int i = 0; i < students.size() ; i++) {
//4.得到单个学生对象
Student student = students.get(i);
//5.将单个学生对象的数据获取并打印
System.out.println(student.getSid()+“\t”+student.getName()+“\t”+student.getAge()+“\t”+student.getAddress());
}
}
4.
//删除学生信息
private static void deleteStudentBysid(ArrayList<Student> students, Scanner sc) {
//1.判断是否有学生信息数据
if (students.size() == 0) {
System.out.println("【系统暂无学生信息数据,请先添加学生信息】");
return;
} else {
//2.键盘录入要删除的学生学号
System.out.println("请输入要删除的学生学号");
String sid = sc.nextLine();
//3.去系统找有没有指定学号的学生信息
//假设不存在
boolean flag = false;
for (int i = 0; i < students.size(); i++) {
Student student = students.get(i);
if (sid.equals(student.getSid())) {
flag = true;
}
}
//4.不存在:给出提示! 存在:找到这个学号对应的学生对象,将其从集合中移除!
if (flag) {
//找出该学号对应的学生对象并打印出来!
System.out.println("【要删除学号为"+sid+"的学生信息如下:】");
System.out.println("学号 \t 姓名 \t 年龄 \t 住址");
for (int i = 0; i < students.size(); i++) {
Student student = students.get(i);
if (sid.equals(student.getSid())) {
System.out.println(student.getSid()+"\t"+student.getName()+"\t"+student.getAge()+"\t"+student.getAddress());
student.setSid(" ");
student.setName(" ");
student.setAddress(" ");
student.setAge(" ");
}
}
//做删除确认
System.out.println("您确定要删除学号为"+sid+"的学生信息么?(y/n)");
String confirm =sc.nextLine();
//判断
if("y".equals(confirm)){
//删除(找到这个学号对应的学生对象,将其从集合中移除!)
for (int i = 0; i < students.size(); i++) {
Student student = students.get(i);
if (sid.equals(student.getSid())) {
//将这个学生对象从集合中移除
students.remove(student);
System.out.println("【删除学生信息已成功】");
}
}
}else {
//取消删除
System.out.println("【删除操作已取消!】");
}
//友好提示
System.out.println("【系统中该学生数据删除成功】");
}else{
System.out.println("【系统中无此数据】");
}
}
}
}