添砖Java之路(其六)——通过集合制作的学生信息管理系统

目录

前言:

源码:


前言:

我对于集合的理解,感觉就类似于顺序表这样的数据结构,然后他存储的数据不能是基本类型,如果要用也只能用对应基本数据的包装类。

对于集合有很多方法,我的建议就是去api里面文档查看就行,没必要可以去背。

源码:

哈哈哈,这个系统太经典了,拿来练习语法再合适不过了~

实体类:

java 复制代码
public class StudentInfor {
    private String id;
    private String name;
    private int age;
    private String sex;
    private int MathScore;
    private int ChineseSocre;
    private  int EnglishScore;

    private   int arrSocre;



    public String getId() {
        return id;
    }

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

    public StudentInfor() {

    }

    public StudentInfor(String id, String name, int age, String sex, int mathScore, int chineseSocre, int englishScore) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.sex = sex;
        MathScore = mathScore;
        ChineseSocre = chineseSocre;
        EnglishScore = englishScore;
        arrSocre=mathScore+chineseSocre+englishScore;
    }

    public int getArrSocre() {
        return arrSocre;
    }

    public void setArrSocre() {
            arrSocre=MathScore+EnglishScore+ChineseSocre;
    }

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

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

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public int getMathScore() {
        return MathScore;
    }

    public void setMathScore(int mathScore) {
        MathScore = mathScore;
    }

    public int getChineseSocre() {
        return ChineseSocre;
    }

    public void setChineseSocre(int chineseSocre) {
        ChineseSocre = chineseSocre;
    }

    public int getEnglishScore() {
        return EnglishScore;
    }

    public void setEnglishScore(int englishScore) {
        EnglishScore = englishScore;
    }
}

方法类:

java 复制代码
import java.util.ArrayList;
import java.util.Scanner;

public class System_Z {

    private static void SetInfor(ArrayList<StudentInfor> list)
    {
        StudentInfor student  = new StudentInfor();

        Scanner sc=new Scanner(System.in);
        System.out.println("请输入姓名->");
        student.setName(sc.next());
        System.out.println("请输入学号->");
        String id=sc.next();
        for (int i = 0; i < list.size(); i++) {
            while (id.equals(list.get(i).getId())) {
                System.out.println("已存在该学号!");
                System.out.println("请重新输入");
                id = sc.next();
            }
        }
        student.setId(id);
        System.out.println("请输入年龄->");
        student.setAge(sc.nextInt());
        System.out.println("请输入性别->");
        student.setSex(sc.next());
        System.out.println("请输入语文成绩");
        student.setChineseSocre(sc.nextInt());
        System.out.println("请输入数学成绩");
        student.setMathScore(sc.nextInt());
        System.out.println("请输入英语成绩");
        student.setEnglishScore(sc.nextInt());
        student.setArrSocre();
        list.add(student);
    }

    private  static  void PrintAllStudent(ArrayList<StudentInfor>list)
    {

            System.out.println("姓名   id           年龄   性别   语文   数学   英语   总分");
        for (int i = 0; i < list.size(); i++) {
/*            System.out.println(list.get(i).getName()+"   "+list.get(i).getId()+"   "+list.get(i).getAge()+"   "+list.get(i).getSex()
            +"    "+list.get(i).getChineseSocre()+"\t"+list.get(i).getMathScore()+"   "+list.get(i).getEnglishScore()+"  "+list.get(i).getArrSocre());*/
            System.out.printf("%-5s%-13s%-6d%-6s%-6d%-6d%-6d%-6d\n",
                    list.get(i).getName(),list.get(i).getId(),list.get(i).getAge(),list.get(i).getSex()
                    ,list.get(i).getChineseSocre(),list.get(i).getMathScore(),list.get(i).getEnglishScore()
                    ,list.get(i).getArrSocre());

        }
    }
    private  static void  Print()
    {
        System.out.println("1.录入学生信息");
        System.out.println("2.输入id查看学生信息");
        System.out.println("3.输入学生姓名查看学生信息");
        System.out.println("4.输入学号修改学生信息");
        System.out.println("5.打印全部学生信息");
        System.out.println("6.输入学号删除学生信息");
        System.out.println("0.退出");
    }

    private static void  FindByName(ArrayList<StudentInfor> list )
    {
        System.out.println("请输入要查的学生姓名");
        Scanner sc=new Scanner(System.in);
        String name=sc.next();
        int n=0;
        for (int i = 0; i < list.size(); i++) {
            if(name.equals(list.get(i).getName()))
            {
                n=1;
                System.out.println("学生姓名:"+list.get(i).getName());
                System.out.println("学生id:"+list.get(i).getId());
                System.out.println("学生年龄:"+list.get(i).getAge());
                System.out.println("学生性别:"+list.get(i).getSex());
                System.out.println("语文成绩:"+list.get(i).getChineseSocre());
                System.out.println("数学成绩:"+list.get(i).getMathScore());
                System.out.println("英语成绩:"+list.get(i).getEnglishScore());
                System.out.println("总成绩:"+list.get(i).getArrSocre());
                System.out.println();
            }
        }
    if(n==0)
    {
        System.out.println("没找到喵");
        System.out.println();
    }
    }

    private static void  FindByID(ArrayList<StudentInfor> list )
    {
        System.out.println("请输入要查的学号");
        Scanner sc=new Scanner(System.in);
        String id=sc.next();
        for (int i = 0; i < list.size(); i++) {
            if(id.equals(list.get(i).getId()))
            {
                System.out.println("学生姓名:"+list.get(i).getName());
                System.out.println("学生id:"+list.get(i).getId());
                System.out.println("学生年龄:"+list.get(i).getAge());
                System.out.println("学生性别:"+list.get(i).getSex());
                System.out.println("语文成绩:"+list.get(i).getChineseSocre());
                System.out.println("数学成绩:"+list.get(i).getMathScore());
                System.out.println("英语成绩:"+list.get(i).getEnglishScore());
                System.out.println("总成绩:"+list.get(i).getArrSocre());
                System.out.println();
                return ;
            }
        }
        System.out.println("没找到喵");
        System.out.println();
    }

    private static  void RemakeByname(ArrayList<StudentInfor>list )
    {
        System.out.println("请输入要修改学生的学号");
        Scanner sc=new Scanner(System.in);
        String id=sc.next();
        for (int i = 0; i < list.size(); i++) {
            if(id.equals(list.get(i).getId()))
            {

                System.out.println("请输入姓名->");
                list.get(i).setName(sc.next());
                System.out.println("请输入学号->");
                list.get(i).setName(sc.next());
                System.out.println("请输入年龄->");
                list.get(i).setAge(sc.nextInt());
                System.out.println("请输入性别->");
                list.get(i).setSex(sc.next());
                System.out.println("请输入语文成绩");
                list.get(i).setChineseSocre(sc.nextInt());
                System.out.println("请输入数学成绩");
                list.get(i).setMathScore(sc.nextInt());
                System.out.println("请输入英语成绩");
                list.get(i).setEnglishScore(sc.nextInt());
                list.get(i).setArrSocre();
                return ;
            }
        }
    }

    private  static void DeleteByid(ArrayList<StudentInfor>list)
    {
        System.out.println("请输入要查的学号");
        Scanner sc=new Scanner(System.in);
        String id=sc.next();
        for (int i = 0; i < list.size(); i++) {
            if(id.equals(list.get(i).getId()))
            {
                list.remove(i);
                System.out.println("删除成功!");
                return ;
            }
        }
        System.out.println("没有查找到该学生信息喵~");
    }

    private static void main(String[] args) {
        ArrayList<StudentInfor> list=new ArrayList<>();
        StudentInfor s1=new StudentInfor("2023211661","牢大",24,"男",59,89,100);
        StudentInfor s2=new StudentInfor("2023211662","蔡徐坤",25,"男",88,81,66);
        list.add(s1);
        list.add(s2);
        System.out.println("-------欢迎使用学生信息管理系统------");
        Scanner sc=new Scanner(System.in);
        int choice=100;
        while(choice!=0)
        {
            Print();
           choice = sc.nextInt();
            switch(choice)
            {
                case 1:
                    SetInfor(list);
                    break;
                case 2:
                    FindByID(list);
                    break;
                case 3:
                    FindByName(list);
                    break;
                case 4:RemakeByname(list);
                    break;
                case 5:
                    PrintAllStudent(list);
                    System.out.println();
                    break;
                case 6:
                    DeleteByid(list);
                    break;
                case 0:
                    System.out.println("欢迎下次使用喵~");
                    break;
                default:
                    System.out.println("选择错误请重新选择");
                    System.out.println();
                    break;
            }
        }
    }

}
相关推荐
励志成为嵌入式工程师36 分钟前
c语言简单编程练习9
c语言·开发语言·算法·vim
捕鲸叉1 小时前
创建线程时传递参数给线程
开发语言·c++·算法
A charmer1 小时前
【C++】vector 类深度解析:探索动态数组的奥秘
开发语言·c++·算法
Peter_chq1 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
Yaml42 小时前
Spring Boot 与 Vue 共筑二手书籍交易卓越平台
java·spring boot·后端·mysql·spring·vue·二手书籍
小小小妮子~2 小时前
Spring Boot详解:从入门到精通
java·spring boot·后端
hong1616882 小时前
Spring Boot中实现多数据源连接和切换的方案
java·spring boot·后端
aloha_7892 小时前
从零记录搭建一个干净的mybatis环境
java·笔记·spring·spring cloud·maven·mybatis·springboot
记录成长java3 小时前
ServletContext,Cookie,HttpSession的使用
java·开发语言·servlet
前端青山3 小时前
Node.js-增强 API 安全性和性能优化
开发语言·前端·javascript·性能优化·前端框架·node.js