java课程期末大作业同学录系统设计附全部源码

同学录系统

实体类
public class Student {
    private int id;//编号
    private String name;//姓名
    private char gender;//性别
    private String birthDate;//生日
    private String contact;//联系方式
    private String email;//email
    private String address;//地址

    public Student(int id, String name, char gender, String birthDate, String contact, String email, String address) {
        this.id = id;
        this.name = name;
        this.gender = gender;
        this.birthDate = birthDate;
        this.contact = contact;
        this.email = email;
        this.address = address;
    }

    // getters and setters
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public char getGender() {
        return gender;
    }

    public void setGender(char gender) {
        this.gender = gender;
    }

    public String getBirthDate() {
        return birthDate;
    }

    public void setBirthDate(String birthDate) {
        this.birthDate = birthDate;
    }

    public String getContact() {
        return contact;
    }

    public void setContact(String contact) {
        this.contact = contact;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    @Override
    public String toString() {
        return
                "id :" + id +
                        "\t姓名 :" + name +
                        "\t性别 :" + gender +
                        "\t生日 :" + birthDate +
                        "\t联系方式 :" + contact +
                        "\temail :" + email +
                        "\t地址" + address;
    }
}
service类
public class StudentService {
    //定义一个列表存储学生信息
    List<Student> students = new ArrayList<>();
//    定义一个学生对象
    Student student;


    //添加方法
    public void addStudent(Student student) {
//        接收将封装好的对象  并调用list add 方法 添加进去
        students.add(student);
    }
    //删除

    public boolean deleteStudent(int id) {
//        循环查找集合中元素 并赋给student对象
        for (int i = 0; i < students.size(); i++) {
            student = students.get(i);
//            如果id相等返回结果 结束
            if (student.getId() == id) {
                students.remove(i);
                i--;
                return true;
            }
        }
        return false;
    }


    //全查询
    public List<Student> findAll() {
//        返回list 集合
        return students;
    }

    //根据id查询
    public Student findById(int id) {
        //        循环查找集合中元素 并赋给student对象
        for (int i = 0; i < students.size(); i++) {
            student = students.get(i);
            //            如果id相等返回结果 结束
            if (student.getId() == id) {
                return student;
            }
        }
        return null;
    }

    //根据名字查询
//    定义集合 保存根据名字查询的 学生信息
    List<Student> list = new ArrayList<>();

    public List<Student> findByName(String name) {
        //        循环查找集合中元素 并赋给student对象
        for (int i = 0; i < students.size(); i++) {
            student = students.get(i);
            //            如果id相等返回结果 结束
            if (student.getName().equals(name)) {
                return list;
            }
        }
        return null;
    }


    //导出文件

    public void  exportToFile(String filePath) throws IOException {
        //得到导出的文件路径
        FileWriter writer = new FileWriter(filePath);
//        调用缓冲区 达到缓冲效果 减少消耗
        BufferedWriter bufferedWriter = new BufferedWriter(writer);
//        循环写lsit 集合数据
        for (Student item : students) {
            bufferedWriter.write(String.valueOf(item));
            bufferedWriter.newLine();
        }
//        关闭资源
        bufferedWriter.close();
        writer.close();
    }
}

view视图类
public class StudentView {

    //定义学生id自增变量
    int StudentId = 1;
    //控制while循环的loop变量
    boolean loop = true;
    //    实例化service类调用其中方法
    StudentService studentService = new StudentService();
    Scanner scanner = new Scanner(System.in);


    //添加学生信息
    public void addStudent() {
//提示输入一系列信息
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入学生姓名:");
        String name = scanner.next();
        System.out.println("请输入学生性别:");
        char gender = scanner.next().charAt(0);

        System.out.println("请输入学生出生年月:");
        String birthdate = scanner.next();

        System.out.println("请输入学生联系方式:");
        String contact = scanner.next();

        System.out.println("请输入学生E-mail:");
        String email = scanner.next();

        System.out.println("请输入学生通信地址:");
        String address = scanner.next();
//        将输入的信息 封装成 Student对象
        Student student = new Student(StudentId, name, gender, birthdate, contact, email, address);
        //调用添加方法 添加学生
        studentService.addStudent(student);
        System.out.println("添加成功");
//        设置学生编号自增
        StudentId++;
    }

    //删除学生信息
    public void deleteStudent() {
        System.out.println("请输入你要删除的学生id");
        int id = scanner.nextInt();
//        调用service删除方法 如果返回值为false 输出提示信息 结束删除方法
        if (!studentService.deleteStudent(id)) {
            System.out.println("没有找到对应的学生");
            return;
        }
        //否则提示删除成功
        System.out.println("删除成功");
    }

    //修改学生信息

    public void updateStudent() {
        System.out.println("请输入要修改的学生编号:");
        int id = scanner.nextInt();
        //        调用service根据id 查询方法 将返回值封装成Student对象
        Student student = studentService.findById(id);
        //如果对象为为空 提示要修改的学生不存在 结束方法
        if (student == null) {
            System.out.println("学生不存在");
            return;
        }
        //如果不为空 继续输入一系列要修改的信息
        System.out.println("请输入新的学生姓名:" + "(" + student.getName() + ")");
        String name = scanner.next();
        //调用set方法 设置信息 同下
        student.setName(name);
        System.out.println("请输入新的学生性别:" + "(" + student.getGender() + ")");
        char gender = scanner.next().charAt(0);
        student.setGender(gender);
        System.out.println("请输入新的学生出生年月:" + "(" + student.getBirthDate() + ")");
        String birthdate = scanner.next();
        student.setBirthDate(birthdate);
        System.out.println("请输入新的学生联系方式:" + "(" + student.getContact() + ")");
        String contact = scanner.next();
        student.setContact(contact);
        System.out.println("请输入新的学生E-mail:" + "(" + student.getEmail() + ")");
        String email = scanner.next();
        student.setEmail(email);
        System.out.println("请输入新的学生通信地址:" + "(" + student.getAddress() + ")");
        String address = scanner.next();
        student.setAddress(address);
        System.out.println("学生信息已修改!");

    }


    //全查询
    public void findAll() {
//        调用service的全查询将返回的数据 存入list 集合中
        List<Student> list = studentService.findAll();
//        如果为空 打印提示信息 并结束方法
        if (list == null) {
            System.out.println("很遗憾,你还没有同学");
            return;
        }
//        否则输出信息
        list.forEach(System.out::println);
    }

    //根据id查询
    public void findById() {
        System.out.println("请输入学生编号:");
        int id = scanner.nextInt();
//        将返回的数据封装为student对象
        Student student = studentService.findById(id);
//        如果为空 提示不存在 并结束方法
        if (student == null) {
            System.out.println("未找到指定学生信息!");
            return;
        }
//        否则输出信息
        System.out.println(student);

    }

    //根据姓名查看
    public void findByName() {
        System.out.println("请输入学生姓名");
        String name = scanner.next();
        //        将返回的数据封装为student对象
        List<Student> list = studentService.findByName(name);
        //        如果为空 提示不存在 并结束方法
        if (list == null) {
            System.out.println("你查找的不存在");
            return;
        }
        //        否则输出信息
        list.forEach(System.out::println);
    }


    //导出到文本文件

    public void exportToFile() throws IOException {
        //设置要保存的文件路径
        String path = "D:\\a\\a.txt";
//        调用保存方法
        studentService.exportToFile(path);

    }

    public void mainEu() throws IOException {
        Scanner scanner = new Scanner(System.in);

        while (loop) {
            System.out.println("==============同学录系统==============");
            System.out.println("请选择功能:");
            System.out.println("\t\t\t1. 添加学生信息");
            System.out.println("\t\t\t2. 删除学生信息");
            System.out.println("\t\t\t3. 修改学生信息");
            System.out.println("\t\t\t4. 查询全部学生信息");
            System.out.println("\t\t\t5. 根据id查看学生信息");
            System.out.println("\t\t\t6. 根据姓名查看学生信息");
            System.out.println("\t\t\t7. 导出到文本文件");
            System.out.println("\t\t\t8. 退出程序");
            int option = scanner.nextInt();

            switch (option) {
                case 1:
                    addStudent();
                    break;
                case 2:
                    deleteStudent();
                    break;
                case 3:
                    updateStudent();
                    break;
                case 4:
                    findAll();
                    break;
                case 5:
                    findById();
                    break;
                case 6:
                    findByName();
                    break;
                case 7:
                    exportToFile();
                    break;
                case 8:
                    loop = false;
                    break;
                default:
                    System.out.println("无效的选项,请重新选择!");
            }
        }
    }
}
测试类
public class Test {
    public static void main(String[] args) throws IOException {
        StudentView studentView = new StudentView();
        studentView.mainEu();
        System.out.println("感谢使用");
    }
}

####运行截图
在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
为达到最佳效果,推荐使用九网互联的ASP.net空间,支持ASP.net版本1.1和2.0在线切换、在线脚本映射、ASP.net具体错误信息在线查看。下载后请在Web.Config里更改设置,如数据库路径等如果要换sql数据库,请将app_code里的MyPage.cs改为以下代码即可public class MyPage : LeeHom.Web.UI.SqlPage{}public class MyMasterPage : LeeHom.Web.UI.SqlMasterPage{}并在Web.Config里设置数据库为SqlServerSql的执行语句在App_Data下DataBase.sql后台管理:http://网址/admin/默认管理员:admin 密码:admin可注册一个新用户后设置新用户为管理员后删除admin用户由于本人学习.net没有多久,所以做出来的作品在代码上有些乱,有可能存在不少bug如果有什么bug或是好的意见,希望大家给我发说明一下.我的邮箱地址是:dotnetlee@qq.com或到 http://www.19870123.cn/ 留言同时,本系统使用的类库请在 http://www.19870123.cn/?tid=157 下载说明文档在 http://doc.19870123.cn/为单班同学录,有论坛、相册、投票、同学注册、站内短信等功能同学注册后可以进行发贴、上传相册等操作该系统采用面向对象模式开发,采用FCKeditor编辑器请在Web.Config里更改设置,如数据库路径等,默认为Access数据库如果要换sql数据库,请将app_code里的MyPage.cs改为以下代码即可public class MyPage : LeeHom.Web.UI.SqlPage{}public class MyMasterPage : LeeHom.Web.UI.SqlMasterPage{}并在Web.Config里设置数据库为SqlServerSql的执行语句在App_Data下DataBase.sql后台管理:http://网址/admin/默认管理员:admin 密码:admin可注册一个新用户后设置新用户为管理员后删除admin用户
Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计 Java毕业设计期末大作业项目源码课程设计

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值