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

}
相关推荐
Bitup_bitwin4 分钟前
C++中的for-each循环
开发语言·c++
martian6655 分钟前
学懂C++(五十四):掌握 C++11 标准:提升开发效率与安全性的关键
开发语言·c++
小小工匠5 分钟前
加密与安全_ sm-crypto 国密算法sm2、sm3和sm4的Java库
java·算法·安全·sm2·sm3·sm4
小tenten27 分钟前
js延迟for内部循环方法
开发语言·前端·javascript
程序员大金30 分钟前
基于SpringBoot+Vue+MySQL的垃圾分类回收管理系统
java·vue.js·spring boot·后端·mysql·mybatis
陈小唬35 分钟前
树形结构构建的两种方式
java·数据库·算法
CJH~35 分钟前
Java入门:09.Java中三大特性(封装、继承、多态)01
java·开发语言·单例模式
打工人99636 分钟前
反编译app
java
我的运维人生37 分钟前
JavaScript在网页设计中的应用案例
开发语言·javascript·ecmascript·运维开发·技术共享
coding侠客37 分钟前
Spring Boot 注解探秘:常用配置值读取注解的魔力
java·spring boot·后端·spring·spring cloud