8_21分享——学生管理系统 ZJL

Student类

package com.zjl.entity;

import com.zjl.comparable.Comparable;

public class Student implements Comparable<Student> {
    int id;
    String name;
    int age;
    String number;

    @Override
    public String toString() {
        return id+"\t\t"+name+"\t\t"+age+"\t\t"+number;
    }

    public Student(int id, String name, int age, String number) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.number = number;
    }

    public Student(String name, int age, String number) {
    }

    public String getName() {
        return name;
    }

    public Student() {
    }

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

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

    public int getAge() {
        return age;
    }

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

    public int getId() {
        return id;
    }

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

    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number;
    }


    @Override
    public int compareTo(Student student) {
        if (student == null) {
            throw new NullPointerException("is null");
        }
        if (this.getAge() > student.getAge()) {
            return 1;
        } else if (this.getAge() < student.getAge()) {
            return -1;
        } else {
            return 0;
        }
    }
}

StudentDemo类

package com.zjl.demo;

import com.zjl.manger.StudentManger;

import java.util.Scanner;

public class StudentDemo {

    public static void main(String[] args) {
        while (true) {
            System.out.println("是否进入学生管理系统");
            System.out.println("1.是");
            System.out.println("2.否");
            Scanner input = new Scanner(System.in);
            int is = input.nextInt();
            if (is == 1) {
                StudentManger.run();
            } else if (is == 2) {
                System.out.println("好的,下次再见");
                break;
            } else {
                System.out.println("输入错误,请重新选择");
            }
        }
    }
}

StudentManger类

package com.zjl.manger;

import com.zjl.entity.Student;

import java.beans.XMLEncoder;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;

public class StudentManger {
    static List<Student> list = new ArrayList<>();
    static Scanner input = new Scanner(System.in);
    static Student student = null;
    static boolean b = true;
    static String filePath="D:\\桌面\\Student";
    static File file=new File(filePath);
    static FileOutputStream fos=null;
    static FileInputStream fis=null;
    //运行程序
     public static void run() {
        menu();
    }

    //显示菜单
    static void menu() {
        System.out.println("欢迎进入学生管理系统");
        //循环菜单界面
        while (true) {
            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("++++++++++++++++++++++++");
            System.out.println("请选择");
            int choose = input.nextInt();
            //根据输入判断进入什么方法
            if (choose == 1) {
                addStu();
            } else if (choose == 2) {
                delStu();
            } else if (choose == 3) {
                updateStu();
            } else if (choose == 4) {
                selStu();
            } else if (choose == 5) {
                System.out.println("下次再见");
                break;
            }
            else {
                System.out.println("输入错误,请重新输入");
            }
        }
    }

    //添加学生信息
    public static void addStu() {
         //判断文件是否存在 如果不存在 则创建一个
         if (!file.exists()){
             try {
                 file.createNewFile();
                 String info="学号    姓名    年龄     电话";
                 byte[] infos=info.getBytes();
                 fos=new FileOutputStream(filePath,true);
                 fos.write(infos,0,infos.length);
             } catch (IOException e) {
                 e.printStackTrace();
             }finally {
                 try {
                     fos.close();
                 } catch (IOException e) {
                     e.printStackTrace();
                 }
             }
         }
        while (true) {
            student = new Student();
            int a = 0;
            System.out.println("请输入要添加学生学号");
            int id = input.nextInt();
            //根据学号判断是否重复
            for (int i = 0; i < list.size(); i++) {
                System.out.println("进入for");
                Student student = list.get(i);
                if (id == student.getId()) {
                    System.out.println("添加失败,该学号已存在,请重新输入");
                    a = 1;
                    break;
                }
            }
            //根据a的值 判断学号是否存在,如存在 则从新开始循环
            if (a == 1) {
                continue;
            }
            System.out.println("请输入要添加学生姓名");
            String name = input.next();
            System.out.println("请输入要添加学生年龄");
            int age = input.nextInt();
            System.out.println("请输入要输入的学生电话");
            String number = input.next();
            //修改学生属性,存放到list中
            student.setName(name);
            student.setAge(age);
            student.setId(id);
            student.setNumber(number);
            list.add(student);
            System.out.println("添加成功");
            System.out.println("请问是否继续添加吗 1.是 2.否");
            int is = input.nextInt();
            //判断是否继续添加学生
            if (is == 1) {
                continue;
            } else {
                break;
            }
        }
    }

    //删除学生信息
    public static void delStu() {
        System.out.println("请输入要删除的学生学号");
        int id = input.nextInt();
        //使用for遍历集合,如果存在输入的id,则讲该元素删除
        for (int i = 0; i < list.size(); i++) {
            System.out.println("进入for");
            Student student = list.get(i);
            if (id == student.getId()) {
                list.remove(student);
                System.out.println("删除成功");
                b = true;
                break;
            } else {
                b = false;
            }
        }
        if (b == false) {
            System.out.println("该学号已不存在");
        }
    }

    //修改学生信息
    public static void updateStu() {
        System.out.println("请输入要修改的学生学号");
        int id= input.nextInt();
        //判断集合中是否有输入的名称
        for (int i = 0; i < list.size(); i++) {
            System.out.println("进入for");
            Student student = list.get(i);
            System.out.println(student.getName());
            if (id==student.getId()) {
                b = true;
                break;
            } else {
                b = false;
            }
        }
        if (b) {
            System.out.println("查有此人");
            System.out.println("当前信息为 学号:"+student.getId()+" 姓名:"+student.getName()+
                    " 年龄:"+student.getAge()+" 电话"+student.getNumber());
            System.out.println("请输入修改后的姓名");
            String name = input.next();
            student.setName(name);
            System.out.println("请输入修改后的年龄");
            int age = input.nextInt();
            student.setAge(age);
            System.out.println("请输入修改后的电话");
            String number = input.next();
            student.setNumber(number);
            System.out.println("修改成功;修改后的数据为:学号:"+student.getId()+" 姓名:"+student.getName()+
                    " 年龄:"+student.getAge()+" 电话"+student.getNumber());
        }else {
            System.out.println("对不起,没有找到此人");
        }
    }

    //查询学生信息
    public static void selStu() {
         if (!file.exists()){
             System.out.println("当前没有学生信息");
         }else {
             System.out.println("学号\t\t姓名\t\t年龄\t\t电话\t\t");
             Iterator iterator = list.iterator();
             //使用Iterator遍历集合 进行输出
             while (iterator.hasNext()) {
                 Object obj = iterator.next();
                 System.out.println(obj);
             }
         }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值