java学生管理系统(面向对象,初学案例)

学完面向对象的第一个小案例分享

本案例使用了Java语言中的ArrayList集合来帮助存储数据。我把项目分成了Student,StudentManger,StudentOpterator三个部分来完成学生信息的管理。我会依次讲解每个部分最后在附上代码。

目录

一、界面展示

二、学生类(Student)

三、主程序(启动)

四、学生的管理功能(StudentOpterator)

start启动方法:

4.1 addStudent():添加学生信息操作

4.2 deleteStudent():删除学生信息

4.3 updatestudent():修改学生信息

4.4 showstudent():展示学生信息

4.5 isused(String sid):判断学号重复

五、完整代码

5.1 Student

5.2 StudentOpterator

5.3 StduentManger


一、界面展示

二、学生类(Student)

成员变量(学生类的属性):学号(sid)、姓名(name)、年龄(age)、居住地(adress)

封装:有参和无参的构造器

方法:给出每个成员变量的get和set方法

代码如下:


public class Student {
    private String sid;
    private String name;
    private String age;
    private String address;

    public String getSid() {
        return sid;
    }

    public void setSid(String sid) {
        this.sid = sid;
    }

    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 getAddress() {
        return address;
    }

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

三、主程序(启动)

创建一个StudentOpterator的引用变量Opterator,再调用start()方法完成启动

public class StudentManger {
    public static void main(String[] args) {
        StudentOpterator Opterator = new StudentOpterator();
        Opterator.start();
    }
}

四、学生的管理功能(StudentOpterator)

说明:创建一个ArrayList集合来存放学生信息,然后在开头就写上Scanner,以免后续在重复写

包括:

start启动方法:

打印提示

用switch语句完成操作的选择

用循环完成再次回到主界面

public void start(){
        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("请输入你的操作:");

            String line = sc.next();
            switch(line){
                case "1":
                    addStudent();
                    break;
                case "2":
                    deleteStudent();
                    break;
                case "3":
                    updatestudent();
                    break;
                case "4":
                    showstudent();
                    break;
                case "5":
                    System.out.println("已退出,欢迎下次使用!");
                    return;
                default:
                    System.out.println("你的输入有误!");
            }
        }
    }

4.1 addStudent():添加学生信息操作

创建学生对象s把输入的数据赋值给学生对象的成员变量

显示提示信息,提示要怎么输入

从键盘输入所需的数据

将学生对象添加到studentlist集合中保存

给出添加后的提示

public void addStudent(){
        //创建student对象s
        Student s = new Student();
        String sid;
        while(true){
            System.out.println("请输入学生的学号:");
            sid = sc.next();
            boolean flag = isused(sid);
            if(flag){
                System.out.println("你输入的学号已被占用,请重新输入:");
            }
            else break;
        }
        s.setSid(sid);
        System.out.println("请输入学生的姓名:");
        String name = sc.next();
        s.setName(name);
        System.out.println("请输入学生的年龄:");
        String age = sc.next();
        s.setAge(age);
        System.out.println("请输入学生的住址:");
        String address = sc.next();
        s.setAddress(address);
        //把s放到studentlist里面
        studentlist.add(s);
        System.out.println("学生信息录入成功!");
    }

4.2 deleteStudent():删除学生信息

显示提示信息

键盘录入要删除的学生学号

用Boolean flag 进行标记

遍历集合将对应学生对象从集合中删除

给出删除成功提示

public void deleteStudent(){
        System.out.println("请输入你要删除的学生学号:");
        String sid = sc.next();
        boolean flag = false;
        //删除学生
        for (int i = 0; i < studentlist.size(); i++) {
            Student s = studentlist.get(i);
            if(s.getSid().equals(sid)){
                studentlist.remove(i);
                flag = true;
                break;
            }
        }
        if(flag) System.out.println("删除成功!");
        else System.out.println("没有找到你要删除的学号!");
    }

4.3 updatestudent():修改学生信息

显示提示信息。

键盘录入要修改的学生学号。

键盘录入要修改的学生信息。

遍历集合修改对应的学生信息。

给出修改成功提示。

public void updatestudent(){
        System.out.println("请输入你要修改的学生的学号:");
        String sid = sc.next();
        for (int i = 0; i < studentlist.size(); i++) {
            Student s1 = studentlist.get(i);
            if(s1.getSid().equals(sid)){
                System.out.println("请输入新的学生的姓名:");
                s1.setName(sc.next());
                System.out.println("请输入新的学生的年龄:");
                s1.setAge(sc.next());
                System.out.println("请输入新的学生的住址:");
                s1.setAddress(sc.next());
                System.out.println("修改学生信息成功!");
                return;
            }
        }
        System.out.println("你输入的学号不存在,请重新输入。");
    }

4.4 showstudent():展示学生信息

显示学生的信息

public void showstudent(){
        if(studentlist.size() == 0){
            System.out.println("无学生信息可打印,请先输入学生信息!");
            return;
        }
        for (int i = 0; i < studentlist.size(); i++) {
            Student s = studentlist.get(i);
            System.out.println(s.getSid()+"-"+s.getName()+"-"+s.getAge()+"-"+s.getAddress());
        }
    }

4.5 isused(String sid):判断学号重复

定义Boolean类型的方法

遍历集合中学生的成员变量sid

使用return返回

public boolean isused(String sid){
        //boolean flag = false;
        for (int i = 0; i < studentlist.size(); i++) {
            Student s = studentlist.get(i);
            if(s.getSid().equals(sid)){
                return true;
            }
        }
        return false;
    }

五、完整代码

5.1 Student

public class Student {
    private String sid;
    private String name;
    private String age;
    private String address;

    public String getSid() {
        return sid;
    }

    public void setSid(String sid) {
        this.sid = sid;
    }

    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 getAddress() {
        return address;
    }

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

5.2 StudentOpterator

import java.util.ArrayList;
import java.util.Scanner;

public class StudentOpterator {
    private ArrayList<Student> studentlist = new ArrayList<>();
    Scanner sc = new Scanner(System.in);
    //循环回到这里
    public void start(){
        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("请输入你的操作:");

            String line = sc.next();
            switch(line){
                case "1":
                    addStudent();
                    break;
                case "2":
                    deleteStudent();
                    break;
                case "3":
                    updatestudent();
                    break;
                case "4":
                    showstudent();
                    break;
                case "5":
                    System.out.println("已退出,欢迎下次使用!");
                    return;
                default:
                    System.out.println("你的输入有误!");
            }
        }
    }
    //添加学生的信息
    public void addStudent(){
        //创建student对象s
        Student s = new Student();
        String sid;
        while(true){
            System.out.println("请输入学生的学号:");
            sid = sc.next();
            boolean flag = isused(sid);
            if(flag){
                System.out.println("你输入的学号已被占用,请重新输入:");
            }
            else break;
        }
        s.setSid(sid);
        System.out.println("请输入学生的姓名:");
        String name = sc.next();
        s.setName(name);
        System.out.println("请输入学生的年龄:");
        String age = sc.next();
        s.setAge(age);
        System.out.println("请输入学生的住址:");
        String address = sc.next();
        s.setAddress(address);
        //把s放到studentlist里面
        studentlist.add(s);
        System.out.println("学生信息录入成功!");
    }
    //删除学生的信息
    public void deleteStudent(){
        System.out.println("请输入你要删除的学生学号:");
        String sid = sc.next();
        boolean flag = false;
        //删除学生
        for (int i = 0; i < studentlist.size(); i++) {
            Student s = studentlist.get(i);
            if(s.getSid().equals(sid)){
                studentlist.remove(i);
                flag = true;
                break;
            }
        }
        if(flag) System.out.println("删除成功!");
        else System.out.println("没有找到你要删除的学号!");
    }
    //修改学生信息
    public void updatestudent(){
        System.out.println("请输入你要修改的学生的学号:");
        String sid = sc.next();
        for (int i = 0; i < studentlist.size(); i++) {
            Student s1 = studentlist.get(i);
            if(s1.getSid().equals(sid)){
                System.out.println("请输入新的学生的姓名:");
                s1.setName(sc.next());
                System.out.println("请输入新的学生的年龄:");
                s1.setAge(sc.next());
                System.out.println("请输入新的学生的住址:");
                s1.setAddress(sc.next());
                System.out.println("修改学生信息成功!");
                return;
            }
        }
        System.out.println("你输入的学号不存在,请重新输入。");
    }
    //展示学生的信息
    public void showstudent(){
        if(studentlist.size() == 0){
            System.out.println("无学生信息可打印,请先输入学生信息!");
            return;
        }
        for (int i = 0; i < studentlist.size(); i++) {
            Student s = studentlist.get(i);
            System.out.println(s.getSid()+"-"+s.getName()+"-"+s.getAge()+"-"+s.getAddress());
        }
    }
    //判断学号是否重复
    public boolean isused(String sid){
        //boolean flag = false;
        for (int i = 0; i < studentlist.size(); i++) {
            Student s = studentlist.get(i);
            if(s.getSid().equals(sid)){
                return true;
            }
        }
        return false;
    }
}

5.3 StduentManger

public class StudentManger {
    public static void main(String[] args) {
        StudentOpterator Opterator = new StudentOpterator();
        Opterator.start();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无问西东_X

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值