文章目录

  • 1、创建学生实体类
  • 2、创建students.txt
  • 3、创建名片管理类
  • 1)创建主菜单
  • 2)创建登录方法
  • 3)创建学生管理方法
  • 4)创建添加学生方法
  • 5)创建保存学生信息方法
  • 6)创建读取学生文件方法
  • 7)创建查询学生方法
  • 8)创建修改名片方法
  • 创建名片管理类的完整代码
  • 运行结果


1、创建学生实体类

  • 在s02.t01里创建Student实体类
package t01;

/**
 * 功能:学生实体类
 * 作者:小小榕
 */
public class Student {
    private String id;
    private String name;
    private String sex;
    private String age;
    private String clazz;
    private String professional;
    private String department;
    private String telephone;

    public Student() {
    }

    public Student(String id,String name, String sex, String age, String clazz, String professional, String department, String telephone) {
        this.id = id;
        this.name = name;
        this.sex = sex;
        this.age = age;
        this.clazz = clazz;
        this.professional = professional;
        this.department = department;
        this.telephone = telephone;
    }

    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 getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public String getClazz() {
        return clazz;
    }

    public void setClazz(String clazz) {
        this.clazz = clazz;
    }

    public String getProfessional() {
        return professional;
    }

    public void setProfessional(String professional) {
        this.professional = professional;
    }

    public String getDepartment() {
        return department;
    }

    public void setDepartment(String department) {
        this.department = department;
    }

    public String getTelephone() {
        return telephone;
    }

    public void setTelephone(String telephone) {
        this.telephone = telephone;
    }

    @Override
    public String toString() {
        return "Student{" +
                "id='" + id + '\'' +
                ", name='" + name + '\'' +
                ", sex='" + sex + '\'' +
                ", age=" + age +
                ", clazz='" + clazz + '\'' +
                ", professional='" + professional + '\'' +
                ", department='" + department + '\'' +
                ", telephone='" + telephone + '\'' +
                '}';
    }
}

2、创建students.txt

java建立学生类 模仿例题 让学生类具有吃喝弹唱学 创建学生类java_System

3、创建名片管理类

  • 在s02.t01包里创建StudentManagement类
1)创建主菜单
public class StudentManagement {
    private static ArrayList<Student> students = new ArrayList<>();

    public static void main(String[] args) {
        int mc1;
        Scanner sc = new Scanner(System.in);
        Boolean isRunning = true;

        while (isRunning) {
            // 绘制一级菜单
            System.out.println("  学生管理系统");
            System.out.println("================");
            System.out.println("   1. 登录");
            System.out.println("   0. 退出");
            System.out.println("================");
            System.out.print("输入菜单编号[1,0]:");
            mc1 = sc.nextInt();
            // 根据用户选择进行相应的操作
            switch (mc1) {
                case 1:
                    // 调用登录方法
                    login();
                    break;
                case 0:
                    System.out.println("谢谢使用~再见~");
                    isRunning = false; // 结束循环
                    break;
                default:
                    System.out.println("输入的菜单编号有误!");
            }
        }
    }
}
2)创建登录方法
  • 在StudentManagement类里创建login()方法
/**
     * 登录方法
     */
    private static void login() {
        String username, password;
        Scanner sc = new Scanner(System.in);

        System.out.print("用户名:");
        username = sc.next();
        System.out.print("密  码:");
        password = sc.next();

        if (username.equals("xiaoxiaorong") && password.equals("212603")) {
            System.out.println("登录成功~");
            // 调用名片管理方法
            StudentManagement();
        } else {
            System.out.println("用户名或密码有误,登录失败~");
        }
    }
3)创建学生管理方法
  • 在StudentManagement类里创建studentManagement()方法
/**
     * 学生管理方法
     */
    private static void studentManagement() {
        int mc2;
        Scanner sc = new Scanner(System.in);
        boolean isRunning = true; // 循环控制变量

        while (isRunning) {
            // 绘制二级菜单
            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("  7. 返回上级");
            System.out.println("=======================");
            System.out.print("输入菜单编号[1,2,3,4,5,6,7]:");
            mc2 = sc.nextInt();

            switch (mc2) {
                case 1:
                    System.out.println("执行添加学生功能~");
                    addStudent();
                    break;
                case 2:
                    modifyStudent(); //调用添加学生方法
                    System.out.println("执行修改学生功能~");
                    break;
                case 3:
                    findStudent();
                    System.out.println("执行查询学生功能~");
                    break;
                case 4:
                    System.out.println("执行删除学生功能~");
                    break;
                case 5:
                    readStudentFile(); // 调用读取学生文件方法
                    System.out.println("读取学生文件到学生数组列表~");
                    break;
                case 6:
                    saveStudents(); // 调用保存学生方法
                    System.out.println("将学生数组列表写入学生文件~");
                    break;
                case 7:
                    isRunning = false; // 结束二级菜单循环
                    break;
                default:
                    System.out.println("输入的菜单编号有误!");
            }
        }
    }
4)创建添加学生方法
  • 在StudentManagement类里创建addStudent()方法
/**
     * 添加学生信息方法
     */
    private static void addStudent() {
        // 声明变量
        String id;
        String name;
        String sex;
        String age;
        String clazz;
        String professional;
        String department;
        String telephone;
        Scanner sc = new Scanner(System.in);

        // 输入学生信息
        System.out.print("学号:");
        id = sc.next();
        System.out.print("姓名:");
        name = sc.next();
        System.out.print("性别:");
         sex= sc.next();
        System.out.print("年龄:");
        age = sc.next();
        System.out.print("班级:");
        clazz = sc.next();
        System.out.print("专业:");
        professional = sc.next();
        System.out.print("系别:");
        department = sc.next();
        System.out.print("手机:");
        telephone = sc.next();

        // 创建学生对象
        Student student = new Student(id, name, sex, age, clazz, professional, department, telephone);

        // 将学生对象添加学生数组列表
        students.add(student);
    }
5)创建保存学生信息方法
  • 在StudentManagement类里创建saveStudent()方法
/**
     * 保存学生到文件
     */
    private static void saveStudents() {
        try{
            // 创建文件字符输出流
            FileWriter fw = new FileWriter("students.txt");
            // 创建学生容器字符串缓冲对象
            StringBuffer studentsBuffer = new StringBuffer();
            // 用增强for循环遍历学生数字列表
            for (Student student : students) {
                // 输出学生对象
                System.out.println(student);
                // 创建学生字符串缓冲对象
                StringBuffer buffer = new StringBuffer();
                // 添加名片字段信息(空格最为分隔符)
                buffer.append(student.getId() + " ");
                buffer.append(student.getName() + " ");
                buffer.append(student.getSex() + " ");
                buffer.append(student.getAge() + " ");
                buffer.append(student.getClazz() + " ");
                buffer.append(student.getProfessional() + " ");
                buffer.append(student.getDepartment() + " ");
                buffer.append(student.getTelephone());
                // 将学生信息写入学生文件(必须添加换行符)
                studentsBuffer.append(buffer.toString() + "\n");

            }
            // 将学生容器字符串缓冲对象里的数据写入文件
            fw.write(studentsBuffer.toString());
            // 关闭文件字符输出流
            fw.close();
            // 提示学生写入成功
            System.out.println("恭喜,学生数据成功写入文件~");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
6)创建读取学生文件方法
  • 在StudentManagement类里创建readStudentFile()方法
/**
     * 读取学生文件,保存到学生数组列表
     */

    private static void readStudentFile() {
        try {
            // 创建文件字符输入流
            FileReader fr = new FileReader("students.txt");
            // 创建缓冲字符输入流
            BufferedReader br = new BufferedReader(fr);
            // 定义行变量
            String nextLine = "";
            // 通过循环读取学生文件
            while ((nextLine = br.readLine()) != null) {
                // 拆分行字符串得到字段数组
                String[] fields = nextLine.split(" ");
                // 创建学生对象
                Student student = new Student();
                // 用字段数组来设置对象属性
                student.setId(fields[0]);
                student.setName(fields[1]);
                student.setSex(fields[2]);
                student.setAge(fields[3]);
                student.setClazz(fields[4]);
                student.setProfessional(fields[5]);
                student.setDepartment(fields[6]);
                student.setTelephone(fields[7]);
                // 输出学生对象
                System.out.println("读取:" + student);
                // 将学生对象添加到学生数组列表
                students.add(student);
            }
            // 关闭缓冲字符输入流
            br.close();
            // 关闭文件字符输入流
            fr.close();
        }catch (FileNotFoundException e) {
            System.out.println("温馨提示:学生文件不存在~");
        }catch (IOException e) {
            e.printStackTrace();
        }

    }
7)创建查询学生方法
  • 在StudentManagement类里创建findStudent()方法
/**
     * 查询学生方法
     */
    private static void findStudent() {
        String id, name;
        Scanner sc = new Scanner(System.in);

        System.out.print("编号:");
        id = sc.nextLine(); // 不能使用next()方法
        System.out.print("姓名:");
        name = sc.nextLine(); // 不能使用next()方法

        // 判断用户按哪种方式查询学生
        if (id.equals(" ")) {
            if (name.equals(" ")) { // 查询全部学生
                // 遍历学生数组列表
                for (Student student:students) {
                    System.out.println(student.getId() + " "
                            + student.getName() + " "
                            + student.getSex() + " "
                            +student.getAge() + " "
                            +student.getClazz() + " "
                            +student.getProfessional() + " "
                            +student.getDepartment() + " "
                            +student.getTelephone());
                }
            }else { // 按姓名查询名片
                System.out.println("~按姓名查询学生信息~");
                Boolean found = false;
                // 遍历学生数组列表,按姓名来找
                for (Student student: students) {
                    if (student.getName().equals(name)) {
                        found = true; // 找到了
                        break; // 跳出循环
                    }
                }
                // 根据found值提示用户
                if (found) {
                    // 针对同名情况
                    for (Student student: students) {
                        if (student.getName().equals(name)) {
                            System.out.println(student.getId() + " "
                                    + student.getName() + " "
                                    + student.getSex() + " "
                                    +student.getAge() + " "
                                    +student.getClazz() + " "
                                    +student.getProfessional() + " "
                                    +student.getDepartment() + " "
                                    +student.getTelephone());
                        }
                    }
                } else {
                    System.out.println("温馨提示:查无此人~");
                }
            }
        }else {
            if (name.equals("")) { // 按编号查询学生
                System.out.println("~按编号查询学生~");
                Boolean found = false;
                // 遍历学生数组列表,按编号来找
                for (Student student:students) {
                    if (student.getId().equals(id)) {
                        found = true; // 找到了
                        // 输出学生信息
                        System.out.println(student.getId() + " "
                                + student.getName() + " "
                                + student.getSex() + " "
                                +student.getAge() + " "
                                +student.getClazz() + " "
                                +student.getProfessional() + " "
                                +student.getDepartment() + " "
                                +student.getTelephone());
                        break; // 跳出循环
                    }
                }
                // 根据found值提示用户
                if (!found) {
                    System.out.println("温馨提示:查无此人~");
                }
            } else { // 按编号和姓名查询学生
                System.out.println("~按编号和姓名来查询名片~");
                Boolean found = false;
                // 遍历学生数组列表,按编号和姓名来找
                for (Student student:students) {
                    if (student.getId().equals(id) && student.getName().equals(name)) {
                        found = true; // 找到了
                        // 输出学生信息
                        System.out.println(student.getId() + " "
                                + student.getName() + " "
                                + student.getSex() + " "
                                +student.getAge() + " "
                                +student.getClazz() + " "
                                +student.getProfessional() + " "
                                +student.getDepartment() + " "
                                +student.getTelephone());
                        break; // 跳出循环
                    }
                    // 根据found值提示用户
                    if (!found) {
                        System.out.println("温馨提示:查无此人~");
                    }
                }

            }
        }
    }
8)创建修改名片方法
  • 在StudentManagement类里创建modifyStudent()方法
/**
     * 修改学生方法
     */
    private static void modifyStudent() {
        String id, name, sex, age, clazz, professional, department,telephone;
        Scanner sc = new Scanner(System.in);
        boolean found = false;

        System.out.print("输入待修改者编号:");
        id = sc.nextLine();

        // 遍历学生列表数组
        for (Student student : students) {
            if (student.getId().equals(id)) {
                found = true; // 找到了
                // 输出学生信息
                System.out.println(student.getId() + " "
                        + student.getName() + " "
                        + student.getSex() + " "
                        +student.getAge() + " "
                        +student.getClazz() + " "
                        +student.getProfessional() + " "
                        +student.getDepartment() + " "
                        +student.getTelephone());
                break; // 跳出循环
            }
        }
        // 判断是否找到学生
        if (found) {
            System.out.println("说明:不输入信息,直接敲回车,表明不修改字段值");
            System.out.print("学号:");
            id = sc.nextLine();
            System.out.print("姓名:");
            name = sc.nextLine();
            System.out.print("性别:");
            sex= sc.nextLine();
            System.out.print("年龄:");
            age = sc.nextLine();
            System.out.print("班级:");
            clazz = sc.nextLine();
            System.out.print("专业:");
            professional = sc.nextLine();
            System.out.print("系别:");
            department = sc.nextLine();
            System.out.print("手机:");
            telephone = sc.nextLine();

            // 采用传统for循环遍历学生数组列表
            for (int i = 0; i < students.size(); i++) {
                // 获取学生对象
                Student student = students.get(i);
                if (student.getId().equals(id)) { // 按编号找到学生
                    // 根据用户输入修改学生对象
                    if (!name.equals("")) {
                        student.setName(name);
                    }
                    if (!sex.equals("")) {
                        student.setSex(sex);
                    }
                    if (!age.equals("")) {
                        student.setAge(age);
                    }
                    if (!clazz.equals("")) {
                        student.setClazz(clazz);
                    }
                    if (!professional.equals("")) {
                        student.setProfessional(professional);
                    }
                    if (!department.equals("")) {
                        student.setDepartment(department);
                    }
                    if (!telephone.equals("")) {
                        student.setTelephone(telephone);
                    }
                    // 用修改后的学生对象去更新学生数组列表对应的元素
                    students.set(i, student);
                    // 显示修改的数组列表对应元素
                    System.out.println(students.get(i));
                    break; // 跳出循环
                }
            }
        } else {
            System.out.println("温馨提示:查无此人~");
        }
    }

创建名片管理类的完整代码

package t01;

import java.io.*;
import java.util.ArrayList;
import java.util.Scanner;

public class StudentManagement {
    private static ArrayList<Student> students = new ArrayList<>();

    public static void main(String[] args) {
        int mc1;
        Scanner sc = new Scanner(System.in);
        Boolean isRunning = true;

        while (isRunning) {
            // 绘制一级菜单
            System.out.println("  学生管理系统");
            System.out.println("================");
            System.out.println("   1. 登录");
            System.out.println("   0. 退出");
            System.out.println("================");
            System.out.print("输入菜单编号[1,0]:");
            mc1 = sc.nextInt();
            // 根据用户选择进行相应的操作
            switch (mc1) {
                case 1:
                    // 调用登录方法
                    login();
                    break;
                case 0:
                    System.out.println("谢谢使用~再见~");
                    isRunning = false; // 结束循环
                    break;
                default:
                    System.out.println("输入的菜单编号有误!");
            }
        }
    }

    /**
     * 登录方法
     */
    private static void login() {
        String username, password;
        Scanner sc = new Scanner(System.in);

        System.out.print("用户名:");
        username = sc.next();
        System.out.print("密  码:");
        password = sc.next();

        if (username.equals("xiaoxiaorong") && password.equals("212603")) {
            System.out.println("登录成功~");
            // 调用名片管理方法
            studentManagement();
        } else {
            System.out.println("用户名或密码有误,登录失败~");
        }
    }
    /**
     * 学生管理方法
     */
    private static void studentManagement() {
        int mc2;
        Scanner sc = new Scanner(System.in);
        boolean isRunning = true; // 循环控制变量

        while (isRunning) {
            // 绘制二级菜单
            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("  7. 返回上级");
            System.out.println("=======================");
            System.out.print("输入菜单编号[1,2,3,4,5,6,7]:");
            mc2 = sc.nextInt();

            switch (mc2) {
                case 1:
                    System.out.println("执行添加学生功能~");
                    addStudent();
                    break;
                case 2:
                    modifyStudent(); //调用添加学生方法
                    System.out.println("执行修改学生功能~");
                    break;
                case 3:
                    findStudent();
                    System.out.println("执行查询学生功能~");
                    break;
                case 4:
                    System.out.println("执行删除学生功能~");
                    break;
                case 5:
                    readStudentFile(); // 调用读取学生文件方法
                    System.out.println("读取学生文件到学生数组列表~");
                    break;
                case 6:
                    saveStudents(); // 调用保存学生方法
                    System.out.println("将学生数组列表写入学生文件~");
                    break;
                case 7:
                    isRunning = false; // 结束二级菜单循环
                    break;
                default:
                    System.out.println("输入的菜单编号有误!");
            }
        }
    }

    /**
     * 添加学生信息方法
     */
    private static void addStudent() {
        // 声明变量
        String id;
        String name;
        String sex;
        String age;
        String clazz;
        String professional;
        String department;
        String telephone;
        Scanner sc = new Scanner(System.in);

        // 输入学生信息
        System.out.print("学号:");
        id = sc.next();
        System.out.print("姓名:");
        name = sc.next();
        System.out.print("性别:");
         sex= sc.next();
        System.out.print("年龄:");
        age = sc.next();
        System.out.print("班级:");
        clazz = sc.next();
        System.out.print("专业:");
        professional = sc.next();
        System.out.print("系别:");
        department = sc.next();
        System.out.print("手机:");
        telephone = sc.next();

        // 创建学生对象
        Student student = new Student(id, name, sex, age, clazz, professional, department, telephone);

        // 将学生对象添加学生数组列表
        students.add(student);
    }
    /**
     * 保存学生到文件
     */
    private static void saveStudents() {
        try{
            // 创建文件字符输出流
            FileWriter fw = new FileWriter("students.txt");
            // 创建学生容器字符串缓冲对象
            StringBuffer studentsBuffer = new StringBuffer();
            // 用增强for循环遍历学生数字列表
            for (Student student : students) {
                // 输出学生对象
                System.out.println(student);
                // 创建学生字符串缓冲对象
                StringBuffer buffer = new StringBuffer();
                // 添加名片字段信息(空格最为分隔符)
                buffer.append(student.getId() + " ");
                buffer.append(student.getName() + " ");
                buffer.append(student.getSex() + " ");
                buffer.append(student.getAge() + " ");
                buffer.append(student.getClazz() + " ");
                buffer.append(student.getProfessional() + " ");
                buffer.append(student.getDepartment() + " ");
                buffer.append(student.getTelephone());
                // 将学生信息写入学生文件(必须添加换行符)
                studentsBuffer.append(buffer.toString() + "\n");

            }
            // 将学生容器字符串缓冲对象里的数据写入文件
            fw.write(studentsBuffer.toString());
            // 关闭文件字符输出流
            fw.close();
            // 提示学生写入成功
            System.out.println("恭喜,学生数据成功写入文件~");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    /**
     * 读取学生文件,保存到学生数组列表
     */

    private static void readStudentFile() {
        try {
            // 创建文件字符输入流
            FileReader fr = new FileReader("students.txt");
            // 创建缓冲字符输入流
            BufferedReader br = new BufferedReader(fr);
            // 定义行变量
            String nextLine = "";
            // 通过循环读取学生文件
            while ((nextLine = br.readLine()) != null) {
                // 拆分行字符串得到字段数组
                String[] fields = nextLine.split(" ");
                // 创建学生对象
                Student student = new Student();
                // 用字段数组来设置对象属性
                student.setId(fields[0]);
                student.setName(fields[1]);
                student.setSex(fields[2]);
                student.setAge(fields[3]);
                student.setClazz(fields[4]);
                student.setProfessional(fields[5]);
                student.setDepartment(fields[6]);
                student.setTelephone(fields[7]);
                // 输出学生对象
                System.out.println("读取:" + student);
                // 将学生对象添加到学生数组列表
                students.add(student);
            }
            // 关闭缓冲字符输入流
            br.close();
            // 关闭文件字符输入流
            fr.close();
        }catch (FileNotFoundException e) {
            System.out.println("温馨提示:学生文件不存在~");
        }catch (IOException e) {
            e.printStackTrace();
        }

    }
    /**
     * 查询学生方法
     */
    private static void findStudent() {
        String id, name;
        Scanner sc = new Scanner(System.in);

        System.out.print("编号:");
        id = sc.nextLine(); // 不能使用next()方法
        System.out.print("姓名:");
        name = sc.nextLine(); // 不能使用next()方法

        // 判断用户按哪种方式查询学生
        if (id.equals(" ")) {
            if (name.equals(" ")) { // 查询全部学生
                // 遍历学生数组列表
                for (Student student:students) {
                    System.out.println(student.getId() + " "
                            + student.getName() + " "
                            + student.getSex() + " "
                            +student.getAge() + " "
                            +student.getClazz() + " "
                            +student.getProfessional() + " "
                            +student.getDepartment() + " "
                            +student.getTelephone());
                }
            }else { // 按姓名查询名片
                System.out.println("~按姓名查询学生信息~");
                Boolean found = false;
                // 遍历学生数组列表,按姓名来找
                for (Student student: students) {
                    if (student.getName().equals(name)) {
                        found = true; // 找到了
                        break; // 跳出循环
                    }
                }
                // 根据found值提示用户
                if (found) {
                    // 针对同名情况
                    for (Student student: students) {
                        if (student.getName().equals(name)) {
                            System.out.println(student.getId() + " "
                                    + student.getName() + " "
                                    + student.getSex() + " "
                                    +student.getAge() + " "
                                    +student.getClazz() + " "
                                    +student.getProfessional() + " "
                                    +student.getDepartment() + " "
                                    +student.getTelephone());
                        }
                    }
                } else {
                    System.out.println("温馨提示:查无此人~");
                }
            }
        }else {
            if (name.equals("")) { // 按编号查询学生
                System.out.println("~按编号查询学生~");
                Boolean found = false;
                // 遍历学生数组列表,按编号来找
                for (Student student:students) {
                    if (student.getId().equals(id)) {
                        found = true; // 找到了
                        // 输出学生信息
                        System.out.println(student.getId() + " "
                                + student.getName() + " "
                                + student.getSex() + " "
                                +student.getAge() + " "
                                +student.getClazz() + " "
                                +student.getProfessional() + " "
                                +student.getDepartment() + " "
                                +student.getTelephone());
                        break; // 跳出循环
                    }
                }
                // 根据found值提示用户
                if (!found) {
                    System.out.println("温馨提示:查无此人~");
                }
            } else { // 按编号和姓名查询学生
                System.out.println("~按编号和姓名来查询名片~");
                Boolean found = false;
                // 遍历学生数组列表,按编号和姓名来找
                for (Student student:students) {
                    if (student.getId().equals(id) && student.getName().equals(name)) {
                        found = true; // 找到了
                        // 输出学生信息
                        System.out.println(student.getId() + " "
                                + student.getName() + " "
                                + student.getSex() + " "
                                +student.getAge() + " "
                                +student.getClazz() + " "
                                +student.getProfessional() + " "
                                +student.getDepartment() + " "
                                +student.getTelephone());
                        break; // 跳出循环
                    }
                    // 根据found值提示用户
                    if (!found) {
                        System.out.println("温馨提示:查无此人~");
                    }
                }

            }
        }
    }
    /**
     * 修改学生方法
     */
    private static void modifyStudent() {
        String id, name, sex, age, clazz, professional, department,telephone;
        Scanner sc = new Scanner(System.in);
        boolean found = false;

        System.out.print("输入待修改者编号:");
        id = sc.nextLine();

        // 遍历学生列表数组
        for (Student student : students) {
            if (student.getId().equals(id)) {
                found = true; // 找到了
                // 输出学生信息
                System.out.println(student.getId() + " "
                        + student.getName() + " "
                        + student.getSex() + " "
                        +student.getAge() + " "
                        +student.getClazz() + " "
                        +student.getProfessional() + " "
                        +student.getDepartment() + " "
                        +student.getTelephone());
                break; // 跳出循环
            }
        }
        // 判断是否找到学生
        if (found) {
            System.out.println("说明:不输入信息,直接敲回车,表明不修改字段值");
            System.out.print("学号:");
            id = sc.nextLine();
            System.out.print("姓名:");
            name = sc.nextLine();
            System.out.print("性别:");
            sex= sc.nextLine();
            System.out.print("年龄:");
            age = sc.nextLine();
            System.out.print("班级:");
            clazz = sc.nextLine();
            System.out.print("专业:");
            professional = sc.nextLine();
            System.out.print("系别:");
            department = sc.nextLine();
            System.out.print("手机:");
            telephone = sc.nextLine();

            // 采用传统for循环遍历学生数组列表
            for (int i = 0; i < students.size(); i++) {
                // 获取学生对象
                Student student = students.get(i);
                if (student.getId().equals(id)) { // 按编号找到学生
                    // 根据用户输入修改学生对象
                    if (!name.equals("")) {
                        student.setName(name);
                    }
                    if (!sex.equals("")) {
                        student.setSex(sex);
                    }
                    if (!age.equals("")) {
                        student.setAge(age);
                    }
                    if (!clazz.equals("")) {
                        student.setClazz(clazz);
                    }
                    if (!professional.equals("")) {
                        student.setProfessional(professional);
                    }
                    if (!department.equals("")) {
                        student.setDepartment(department);
                    }
                    if (!telephone.equals("")) {
                        student.setTelephone(telephone);
                    }
                    // 用修改后的学生对象去更新学生数组列表对应的元素
                    students.set(i, student);
                    // 显示修改的数组列表对应元素
                    System.out.println(students.get(i));
                    break; // 跳出循环
                }
            }
        } else {
            System.out.println("温馨提示:查无此人~");
        }
    }
}

运行结果

java建立学生类 模仿例题 让学生类具有吃喝弹唱学 创建学生类java_java_02