Java练手(2)(学生管理系统简单实现)

一、前言

采用ArrayList动态数组,实现学生的增加、删除、修改、查找、退出
(主要目的是增加对ArrayList的理解与使用)

在这里插入图片描述

二、Student类

学生类中封装四个成员变量(学号、姓名、性别、年龄),设置相应的get和set方法

public class Student {
    
    
    //学号
    private String number;
    //姓名
    private String name;
    //性别
    private String sex;
    //年龄
    private String age;
    //get
    public String getNumber() {
    
    
        return number;
    }
    public String getName() {
    
    
        return name;
    }
    public String getSex() {
    
    
        return sex;
    }
    public String getAge() {
    
    
        return age;
    }
    //set
    public void setNumber(String number) {
    
    
        this.number = number;
    }
    public void setName(String name) {
    
    
        this.name = name;
    }
    public void setSex(String sex) {
    
    
        this.sex = sex;
    }
    public void setAge(String age) {
    
    
        this.age = age;
    }
}

如果用的编译器是IDEA,按ALT+INSERT可以快速生成四个封装属性的get和set方法

三、主类

1、思维导图

孩子不懂事,瞎画着玩的

在这里插入图片描述
2、展示界面信息

单独写个showInfo()方法展示界面信息

 //界面
    public static void showInfo(){
    
    
        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("请输入您的选择");
    }

3、循环显示界面

switch( )语句,按1-5显示不同的功能

while(true){
    
    
            //显示界面
            showInfo();
           String choice=scanner.nextLine();
           switch (choice){
    
    
               case "1"://添加学生信息
                   addStudent(studentArrayList);
                   break;
               case "2"://删除学生信息
                   delStudent(studentArrayList);
                   break;
               case "3"://修改学生信息
                    reviseStudent(studentArrayList);
                   break;
               case "4"://查看所有学生信息
                   showStudent(studentArrayList);
                   break;
               case "5":
                   System.out.println("感谢本次使用捏!");
                   System.exit(0);
           }
        }

4、添加学生信息

addStudent( ),studentArrayList .add( )方法,添加新学生信息

//添加学生
    public static void addStudent(ArrayList<Student> studentArrayList){
    
    
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入学生的学号");
        String number=sc.nextLine();
        System.out.println("请输入学生的姓名");
        String name=sc.nextLine();
        System.out.println("请输入学生的性别");
        String sex=sc.nextLine();
        System.out.println("请输入学生的年龄");
        String age=sc.nextLine();
        //创建学生对象
        Student stu=new Student();
        stu.setNumber(number);
        stu.setName(name);
        stu.setSex(sex);
        stu.setAge(age);
        studentArrayList.add(stu);
        System.out.println("添加学生成功了捏!");
    }

5、删除学生信息

根据想删除学生的学号进行遍历比对,采用equals( )方法

public static void delStudent(ArrayList<Student> studentArrayList) {
    
    
        if(studentArrayList.size()==0){
    
    
            System.out.println("都没人你删个番茄炒蛋锤!");
            return;
        }
        boolean flag = false;
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入删除学生的学号");
        String delNum = sc.nextLine();
        for (int i = 0; i < studentArrayList.size(); i++) {
    
    
            Student stu = studentArrayList.get(i);
            if (stu.getNumber().equals(delNum)) {
    
    
                studentArrayList.remove(i);
                System.out.println("删除成功了捏!");
                break;
            }else
                System.out.println("查无此人捏!");
        }
    }

6、修改学生信息

通过学生学号来判断是否可以进行修改,将修改后的内容存入新对象s(Student s=new Student),若找到该学号则使用studentArrayList .set( )方法

public static void reviseStudent(ArrayList<Student> studentArrayList){
    
    
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入需要修改学生的学号");
        String reviseNumber=sc.nextLine();
        System.out.println("请输入新姓名");
        String newName=sc.nextLine();
        System.out.println("请输入新性别");
        String newSex=sc.nextLine();
        System.out.println("请输入新年龄");
        String newAge=sc.nextLine();
        //创建学生对象
        Student s=new Student();
        s.setNumber(reviseNumber);
        s.setName(newName);
        s.setSex(newSex);
        s.setAge(newAge);
        for(int i=0;i<studentArrayList.size();i++){
    
    
            Student stu=studentArrayList.get(i);
            if(stu.getNumber().equals(reviseNumber)){
    
    
                studentArrayList.set(i,s);
                System.out.println("修改成功捏!");
                break;
            }else
                System.out.println("修改失败,我不到啊!");
        }
    }

7、查看所有学生

遍历输出即可,注意studentArrayList容量为0时的特殊情况

//查看学生
    public static void showStudent(ArrayList<Student> studentArrayList){
    
    
        //判断是否为空
        if(studentArrayList.size()==0){
    
    
            System.out.println("还没有信息捏,请添加数据!");
            return;
        }
        //表单栏
        System.out.println("学号\t\t\t姓名\t\t性别\t年龄");
        for (int index=0;index<studentArrayList.size();index++){
    
    
            Student stu=studentArrayList.get(index);
            System.out.println(stu.getNumber()+"\t\t"+stu.getName()+"\t\t"+stu.getSex()+"\t"+stu.getAge()+"岁");
        }
    }

四、运行截图

1、添加学生信息
在这里插入图片描述
2、查看全部学生

啊这,显示不美观,因为没想到名字是五个字

在这里插入图片描述

3、修改学生信息
在这里插入图片描述
4、删除学生信息

在这里插入图片描述
如果继续按2,就会提示以下内容

在这里插入图片描述
5、退出程序
在这里插入图片描述

五、主类源代码

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

public class Manage {
    
    
    public static void main(String[] args) {
    
    
        Scanner scanner=new Scanner(System.in);
        //创建学生集合
        ArrayList<Student> studentArrayList=new ArrayList<>();
        while(true){
    
    
            //显示界面
            showInfo();
           String choice=scanner.nextLine();
           switch (choice){
    
    
               case "1"://添加学生信息
                   addStudent(studentArrayList);
                   break;
               case "2"://删除学生信息
                   delStudent(studentArrayList);
                   break;
               case "3"://修改学生信息
                    reviseStudent(studentArrayList);
                   break;
               case "4"://查看所有学生信息
                   showStudent(studentArrayList);
                   break;
               case "5":
                   System.out.println("感谢本次使用捏!");
                   System.exit(0);
           }
        }
    }
    //界面
    public static void showInfo(){
    
    
        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("请输入您的选择");
    }
    //添加学生
    public static void addStudent(ArrayList<Student> studentArrayList){
    
    
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入学生的学号");
        String number=sc.nextLine();
        System.out.println("请输入学生的姓名");
        String name=sc.nextLine();
        System.out.println("请输入学生的性别");
        String sex=sc.nextLine();
        System.out.println("请输入学生的年龄");
        String age=sc.nextLine();
        //创建学生对象
        Student stu=new Student();
        stu.setNumber(number);
        stu.setName(name);
        stu.setSex(sex);
        stu.setAge(age);
        studentArrayList.add(stu);
        System.out.println("添加学生成功了捏!");
    }
    //删除学生
    public static void delStudent(ArrayList<Student> studentArrayList) {
    
    
        if(studentArrayList.size()==0){
    
    
            System.out.println("都没人你删个番茄炒蛋锤!");
            return;
        }
        boolean flag = false;
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入删除学生的学号");
        String delNum = sc.nextLine();
        for (int i = 0; i < studentArrayList.size(); i++) {
    
    
            Student stu = studentArrayList.get(i);
            if (stu.getNumber().equals(delNum)) {
    
    
                studentArrayList.remove(i);
                System.out.println("删除成功了捏!");
                break;
            }else
                System.out.println("查无此人捏!");
        }
    }
    //修改学生
    public static void reviseStudent(ArrayList<Student> studentArrayList){
    
    
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入需要修改学生的学号");
        String reviseNumber=sc.nextLine();
        System.out.println("请输入新姓名");
        String newName=sc.nextLine();
        System.out.println("请输入新性别");
        String newSex=sc.nextLine();
        System.out.println("请输入新年龄");
        String newAge=sc.nextLine();
        //创建学生对象
        Student s=new Student();
        s.setNumber(reviseNumber);
        s.setName(newName);
        s.setSex(newSex);
        s.setAge(newAge);
        for(int i=0;i<studentArrayList.size();i++){
    
    
            Student stu=studentArrayList.get(i);
            if(stu.getNumber().equals(reviseNumber)){
    
    
                studentArrayList.set(i,s);
                System.out.println("修改成功捏!");
                break;
            }else
                System.out.println("修改失败,我不到啊!");
        }
    }
    //查看学生
    public static void showStudent(ArrayList<Student> studentArrayList){
    
    
        //判断是否为空
        if(studentArrayList.size()==0){
    
    
            System.out.println("还没有信息捏,请添加数据!");
            return;
        }
        //表单栏
        System.out.println("学号\t\t\t姓名\t\t性别\t年龄");
        for (int index=0;index<studentArrayList.size();index++){
    
    
            Student stu=studentArrayList.get(index);
            System.out.println(stu.getNumber()+"\t\t"+stu.getName()+"\t\t"+stu.getSex()+"\t"+stu.getAge()+"岁");
        }
    }
}

猜你喜欢

转载自blog.csdn.net/MODAX/article/details/123598358