java学生管理系统(一)

学生成绩管理系统

简介:

目前实现了添加学生,查看学生,删除学生,修改学生信息的功能,后期会再更新其它功能


一、创建学生信息

构造函数快捷键:alt+insert

public class Students {
    //定义属性
    private String id;
    private String name;
    private String age;
    private String sex;
    private String math;
    private String chinese;
    //构造函数 alt+insert
    public Students() {
    }
    public Students(String id, String name, String age, String sex, String math, String chinese) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.sex = sex;
        this.math = math;
        this.chinese = chinese;
    }
    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 getAge() {
        return age;
    }
    public void setAge(String age) {
        this.age = age;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    public String getMath() {
        return math;
    }
    public void setMath(String math) {
        this.math = math;
    }
    public String getChinese() {
        return chinese;
    }

    public void setChinese(String chinese) {
        this.chinese = chinese;
    }
}


二、界面和功能

1.主界面

主页面

1-1添加学生功能

不考虑学号是否重复
    public void add(ArrayList<Students>array){
        //从键盘输入学生信息
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入学号:");
        String id = sc.nextLine();
        System.out.println("请输入姓名:");
        String name = sc.nextLine();
        System.out.println("请输入年龄:");
        String age = sc.nextLine();
        System.out.println("请输入性别:");
        String sex= sc.nextLine();
        System.out.println("请输入数学成绩:");
        String math= sc.nextLine();
        System.out.println("请输入语文成绩:");
        String chinese = sc.nextLine();
        //将信息填、添入到学生类中
        Students s=new Students();
        s.setId(id);
        s.setName(name);
        s.setAge(age);
        s.setSex(sex);
        s.setMath(math);
        s.setChinese(chinese);
        //将添入的信息放到学生集合中
        array.add(s);
        System.out.println("添加学生成功!");
    }
考虑学号重复问题
 //添加学生
    public void add(ArrayList<Students>array){
        //从键盘输入学生信息
        String id;//便于外部使用
        Scanner sc = new Scanner(System.in);
        //判断是否有重复的学号
        while (true) {
            System.out.println("请输入学号:");
             id = sc.nextLine();
            boolean flag = repeat(array, id);//请看下文
            if (flag) {
                System.out.println("你输入的学号已经存在,请重新输入:");
            }else {
                break;
            }
        }
        System.out.println("请输入姓名:");
        String name = sc.nextLine();
        System.out.println("请输入年龄:");
        String age = sc.nextLine();
        System.out.println("请输入性别:");
        String sex= sc.nextLine();
        System.out.println("请输入数学成绩:");
        String math= sc.nextLine();
        System.out.println("请输入语文成绩:");
        String chinese = sc.nextLine();
        //将信息填、添入到学生类中
        Students s=new Students();
        s.setId(id);
        s.setName(name);
        s.setAge(age);
        s.setSex(sex);
        s.setMath(math);
        s.setChinese(chinese);
        //将添入的信息放到学生集合中
        array.add(s);
        System.out.println("添加学生成功!");
    }

上述代码中有一个repeat()函数(用来判断学号是否重复),以下是它的代码:

  //判断学号是否重复
    public static boolean repeat(ArrayList<Students>array,String id){
        boolean flag=false;
        for (int i=0;i<array.size();i++){
            Students s=array.get(i);
            if(s.getId().equals(id)) {
                flag=true;
                break;
            }
            }
        return flag;
        }

1-2查看学生功能

    //查看学生
    public void look(ArrayList<Students>array){
        //判断集合是否有数据
        if(array.size()==0){
            System.out.println("集合无数据,请先添加学生数据");
            return;//不在往下执行
        }
        System.out.println("学号\t姓名\t年龄\t性别\t数学成绩\t语文成绩\t");//表头
        System.out.println("---------------------------------------");
        //遍历集合,输出集合
        for (int i=0;i<array.size();i++){
            Students s=array.get(i);
            System.out.println(s.getId()+"\t"+s.getName()+"\t"+s.getAge()+"岁"+"\t"+s.getSex()+"\t"+s.getMath()+"\t"+s.getChinese());

        }
    }

1-3 删除学生功能

不考虑学号不存在问题
 //删除学生
    public void delect(ArrayList<Students>array){
        Scanner sc = new Scanner(System.in);
        System.out.println("删除你要删的学生的学号:");
        String id =sc.nextLine();
        //遍历学生集合
        for(int i=0;i<array.size();i++){
            Students s=array.get(i);
            //比较输入的学号和集合里的学号是否相等
            if(s.getId().equals(id)){
                array.remove(i);//删除
                break;
            }
        }
       System.out.println("删除成功!");
    }

考虑学号不存在问题

//删除学生
    public void delect(ArrayList<Students>array){
        Scanner sc = new Scanner(System.in);
        System.out.println("删除你要删的学生的学号:");
        String id =sc.nextLine();
        //遍历学生集合
        int index=-1;//学号不存在即为-1
        for(int i=0;i<array.size();i++){
            Students s=array.get(i);
            //比较输入的学号和集合里的学号是否相等
            if(s.getId().equals(id)){
                index=i;
                break;
            }
        }
        if(index==-1){
            System.out.println("该数据不存在,请重新输入");
        }else{
            array.remove(index);//删除
            System.out.println("删除成功!");
        }
    }

1-4 修改学生功能

考虑学号不存在问题

 //修改学生
    public void modify(ArrayList<Students>array){
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入你要修改的学号:");
        String id = sc.nextLine();
        System.out.println("请输入新姓名:");
        String name = sc.nextLine();
        System.out.println("请输入新年龄:");
        String age = sc.nextLine();
        System.out.println("请输入新性别:");
        String sex= sc.nextLine();
        System.out.println("请输入新的数学成绩:");
        String math= sc.nextLine();
        System.out.println("请输入新的语文成绩:");
        String chinese = sc.nextLine();
        Students s =new Students();
        s.setId(id);
        s.setName(name);
        s.setAge(age);
        s.setSex(sex);
        s.setMath(math);
        s.setChinese(chinese);
        int index=-1;//学号不存在即为-1
        for(int i=0;i<array.size();i++){
            Students student=array.get(i);
            //比较输入的学号和集合里的学号是否相等
            if(student.getId().equals(id)){
                index=i;
                break;
            }
        }
        if(index==-1){
            System.out.println("你输入的学号不存在,请重新输入学号:");
        }else{
            array.set(index,s);//值替换
            System.out.println("修改成功!");
        }

    }

1-5 主界面代码

 //主界面
    public void maininterface () {
        while (true) {
            System.out.println("--------------------");
            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("--------------------");
            System.out.println("请输入你想查询的内容:");
            Scanner sc = new Scanner(System.in);
            String main = sc.nextLine();
            switch (main) {
                case "1":
                    studentfunction.look(array);
                    break;
                case "2":
                    studentfunction.add(array);
                    break;
                case "3":
                    studentfunction.delect(array);
                    break;
                case "4":
                    studentfunction.modify(array);
                    break;
                case "5":
                case "6":
                    System.out.println("欢迎使用");
                    System.exit(0);

            }
        }
    }

要想程序运行需在主界面代码上面加两行代码

    Studentfunction studentfunction=new Studentfunction();
    ArrayList<Students> array=new ArrayList<Students>();

三、主函数

main 函数

public class Main {

    public static void main(String[] args) {
	// write your code here
        Ui ui=new Ui();
        ui.maininterface();
    }
}

总结

java学生管理系统(一)目前只实现了增删改除的功能, 后期将更新的java学生管理系统(二)会实现成绩查询,平均数,总数,即成绩排序的内容
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值