学生管理系统(上)

题目如下:

学校中对于学生的管理越来越重要,现开发一个学生管理系统,要求实现如下功能:
 登录功能
 添加学生信息
 查询学生信息
1、查询所有学生信息
2、查询单个学生信息
 删除学生信息
 修改学生信息
 退出系统
 如果用户输入的用户名和密码为admin和m123,则可以进入主菜单,否则提示用户用户名或密码错误,并要求重新输入
 当用户进入主菜单之后,显示主菜单功能列表
 1、添加学生信息:从控制台输入新增学生的信息,添加成功后给出相应提示。
 2、查询学生信息:如果用户选择查看所有学生信息,则显示所有学生信息,如果选择查询单个学生信息,则提示用户输入查询的学生的学号进行查询并显示。如果没有这个学号的学生,给出相应提示。
 3、删除学生信息:输入学生学号,删除学生信息,并给出相应提示,如果没有该学生信息,给出相应提示
 4、修改学生信息:输入学生学号,然后进行修改,修改成功或失败给出相应提示。
 退出系统:退出系统并给出相应提示。
 根据用户输入的选项执行不同的功能
 使用集合存储学生信息
 程序运行时就初始化2条学生信息
 一个操作完成后回到主菜单,重新选择下一个操作。

第一步:分析该题目需要创建的类:看题目第一行,要求是对学生进行管理操作
学生是对象,因此需要建一个学生类,学生没有多余的方法。
管理工作又分为:添加,查询,删除,修改,退出等操作,这些操作都是动词,
因此应该写成方法,而谁来进行这些操作了,实际生活中应该是老师来进行,或者说是管理员来进行这些操作,因此需要建立一个管理员类,类里面应该包含添加,查询,删除,修改等方法。这些方法操作的对象都是学生,而且是很多学生,因此需要创建一个学生集合。
最后需要一个测试类,来运行程序
一,学生类:

package Student;

/**
 * @author Administrator
 * @Title: Student
 * @ProjectName maven
 * @Description: 学生类
 * @date 2019/8/30   10:47
 */
public class Student {
    //学生的属性:名字,id
    private int id;
    private String name;

    //构造方法

    public Student() {
    }

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

    //set,get方法

    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;
    }

    @Override
    public String toString() {
        return id+name;
    }
}

二.管理类:

package Student;

import java.util.ArrayList;
import java.util.List;

/**
 * @author Administrator
 * @Title: StudentManage
 * @ProjectName maven
 * @Description:
 * @date 2019/8/30   10:51
 */
public class StudentManage {
    List<Student> list = new ArrayList<Student>();

    public StudentManage() {
        list.add(new Student(2013, "张三"));
        list.add(new Student(2014, "李四"));
    }

    //登录方法
    public boolean login(String username, String password) {
        if (username.equals("admin") && password.equals("m123")) {
            return true;
        } else {
            System.out.println("输入错误");
            return false;
        }
    }

    //添加方法
    public void add(Student student) {
        list.add(student);
        System.out.println("添加成功");
    }

    //查询方法
    public void find(int... args) {
        //查询所有学生
        //使用增强循环
        if (args.length == 0) {
            for (Student student : list) {
                System.out.println(student);//思想输出对象的时候,是怎么样子的
            }
        } else {
            int id = args[0];
            for (Student student : list) {
                if (id == student.getId()) {
                    System.out.println(student);
                }
            }
            System.out.println("没有这个学号");
        }
    }

    //删除方法
    public void delate(int id) {
        for (Student student : list) {
            if (student.getId() == id) {
                list.remove(student);
                System.out.println("删除成功");
                return;
                //是否要写return,要写return,是方法结束,否则,会打印没有这个id
            }
        }
        System.out.println("没有找到这个id");
    }

    //修改学生信息
    public void update(int id, String newname) {
        for (Student student : list) {
            if (student.getId() == id) {
                student.setName(newname);
                return;
            }
        }
        System.out.println("没有这个id");
    }
}



三.测试类:行数不够了,见学生管理系统(下)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值