java学生管理系统(简单版)_java学生管理系统代码-程序员宅基地

技术标签: java  开发语言  

简单实现学生信息添加、删除,修改、查询功能。根据需求,创建一个学生类和学生管理类,用容器存储学生信息,这里用到ArrayList<E>(ArrayList类是一个可动态修改的数组,使用之前需要导包import java.util.ArrayList;)

创建集合对象

ArrayList<E> 名 = new ArrayList<E>( );   {<E>是一种特殊的数据类型,泛型}

例:ArrayList<String>  students = new ArrayList<String>( );

其中有如下方法:

add(element)将指定元素追加到集合末尾

add (int index,element) 在指定索引下添加元素

remove(element)删除指定元素

remove (int index)删除指定索引下的元素

set(int index,element)修改指定索引下的元素

get(int index)返回索引下的元素

size() 返回元素个数 

一、建立学生类

学生类中应包含有学生姓名、年龄、学号、籍贯。

public class Student {
   private String name;
    private String age;
    private String id;
    private String adress;

    public Student() {
    }

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

    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 getId() {
        return id;
    }

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

    public String getAdress() {
        return adress;
    }

    public void setAdress(String adress) {
        this.adress = adress;
    }
}

二、创建学生管理类

设计初始界面

六种功能选择用switch语句实现 

用方法实现增、删、改、查功能

添加学生信息的方法

public static void  adds(ArrayList<Student> student) {

 Scanner sc = new Scanner(System.in);
    System.out.println("请输入学生姓名:");
    String name = sc.nextLine();
    System.out.println("请输入学生年龄:");
    String age =sc.nextLine();
    System.out.println("请输入学生学号:");
    String id =sc.nextLine();
    System.out.println("请输入学生地址:");
    String adress =sc.nextLine();
    Student students = new Student();//创建学生对象
    students.setName(name);  
    students.setAge(age);
    students.setId(id);
    students.setAdress(adress); //将输入的值赋给学生对象的成员变量
    student.add(students);      //讲学生对象添加到集合中
    System.out.println("添加学生信息成功");
}

删除学生信息的方法

public static void removes(ArrayList<Student> student){
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入要删除学生的学号:");
    String id = sc.nextLine();ugai用for循环遍历student集合找到与输入学号相同的学号从而找到对应学生类对象再用remove()方法删除 */
    for(int i = 0;i < student.size();i++){
        Student s = student.get(i);
//epuals()方法将字符串与指定对象进行比较,返回是否相同;
        if(s.getId().equals(id)){
            System.out.println("删除后无法恢复,是否要继续删除");
            System.out.print("1:是\n2:否\n");
            int a = sc.nextInt();
            if(a==1) {
                student.remove(i);
                break;
            }else{
                break;
            }
        }
    }
}

修改学生信息方法

public static void setOne(ArrayList<Student> student){
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入所要修改学生的学号");
    String sid = sc.nextLine();
    System.out.println("请输入新的学生姓名:");
    String name = sc.nextLine();
    System.out.println("请输入新的学生年龄:");
    String age =sc.nextLine();
    System.out.println("请输入新的学生学号:");
    String id =sc.nextLine();
    System.out.println("请输入新的学生地址:");
    String adress =sc.nextLine();
    Student s = new Student();
    s.setName(name);
    s.setAge(age);
    s.setId(id);
    s.setAdress(adress);//输入要修改的信息并把它赋值给新的学生类对象
    for(int i = 0;i < student.size();i++){
        Student a = student.get(i);
        if(a.getId().equals(sid)){
           student.set(i,s);
/*通过equals()方法找到对应学生类对象再用set(int index,element)方法将旧的学生类对象修改为新的*/
            break;
        }
        System.out.println("修改学生信息成功");
    }

}

查询学生信息方法

public static void printAll(ArrayList<Student> student){
    Scanner sc = new Scanner(System.in);
//先做判断,集合中是否有信息
    if(student.size()==0){
        System.out.println("无学生信息,请先添加学生信息");
        System.out.println("请选择是否添加学生信息:");
        System.out.println("1:添加学生信息\n2:退出\n");
        int n = sc.nextInt();
        switch (n){
            case 1:
                adds(student);
                break;
            case 2:
                System.exit(0);
                break;
            default:
                System.out.println("你的选择有误,请选择已存在的业务");
        }
    }else
    {
       //遍历集合
        System.out.println("学生姓名\t年龄\t学号\t地址\t");
        for(int i = 0;i < student.size();i++) {
            Student s = student.get(i);
            System.out.println(s.getName() + "\t" + s.getAge() + "岁\t" + s.getId() + "\t" + s.getAdress() + "\t");
           }
    }
}

学生管理类代码如下:

import java.util.ArrayList;
import java.util.Scanner;
public class StudentManage {
    public static void main(String[] args) {
        ArrayList<Student> student= new ArrayList<Student>();
        Scanner sc = new Scanner(System.in);
        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("| 6:退出管理系统                   |");
            System.out.println("--------------------------------");
            System.out.println("请选择要进行的业务:");
            int n = sc.nextInt();
            switch (n) {
                case 1:
                    System.out.println("增加学生信息");
                    adds(student);
                    break;
                case 2:
                    removes(student);
                    break;
                case 3:
                    setOne(student);
                    break;
                case 4:
                    printOne(student);
                    break;
                case 5:
                    printAll(student);
                    break;
                case 6:
                    System.exit(0);
                    break;
                default:
                    System.out.println("你的选择有误,请选择现有的业务");
            }
        }
    }
    //增加学生信息方法
    public static void adds(ArrayList<Student> student){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入学生姓名:");
        String name = sc.nextLine();
        System.out.println("请输入学生年龄:");
        String age =sc.nextLine();
        System.out.println("请输入学生学号:");
        String id =sc.nextLine();
        System.out.println("请输入学生地址:");
        String adress =sc.nextLine();
        Student students = new Student();
        students.setName(name);
        students.setAge(age);
        students.setId(id);
        students.setAdress(adress);
        student.add(students);
        System.out.println("添加学生信息成功");
    }
    //删除学生信息
    public static void removes(ArrayList<Student> student){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入要删除学生的学号:");
        String id = sc.nextLine();
        for(int i = 0;i < student.size();i++){
            Student s = student.get(i);
            if(s.getId().equals(id)){
                System.out.println("删除后无法恢复,时候要继续删除");
                System.out.print("1:是\n2:否\n");
                int a = sc.nextInt();
                if(a==1) {
                    student.remove(i);
                    break;
                }else{
                    break;
                }
            }
        }
    }
   //修改学生信息
    public static void setOne(ArrayList<Student> student){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入所要修改学生的学号");
        String sid = sc.nextLine();
        System.out.println("请输入新的学生姓名:");
        String name = sc.nextLine();
        System.out.println("请输入新的学生年龄:");
        String age =sc.nextLine();
        System.out.println("请输入新的学生学号:");
        String id =sc.nextLine();
        System.out.println("请输入新的学生地址:");
        String adress =sc.nextLine();
        Student s = new Student();
        s.setName(name);
        s.setAge(age);
        s.setId(id);
        s.setAdress(adress);
        for(int i = 0;i < student.size();i++){
            Student a = student.get(i);
            if(a.getId().equals(sid)){
                student.set(i,s);
                break;
            }
            System.out.println("修改学生信息成功");
        }

    }
   //查找学生信息
    public static void printOne(ArrayList<Student> student){
        Scanner sc = new Scanner(System.in);
        System.out.println("请选择所要查找学生的学号");
        String id = sc.nextLine();
        for(int i = 0; i < student.size();i++){
            Student s = student.get(i);
            if(s.getId().equals(id)){
                System.out.println("学生姓名\t年龄\t学号\t地址\t");
                System.out.println(s.getName()+"\t"+s.getAge()+"岁\t"+s.getId()+"\t"+s.getAdress()+"\t");
            }

        }

    }
    //查找所有学生信息
    public static void printAll(ArrayList<Student> student){
        Scanner sc = new Scanner(System.in);
        if(student.size()==0){
            System.out.println("无学生信息,请先添加学生信息");
            System.out.println("请选择是否添加学生信息:");
            System.out.println("1:添加学生信息\n2:退出\n");
            int n = sc.nextInt();
            switch (n){
                case 1:
                    adds(student);
                    break;
                case 2:
                    System.exit(0);
                    break;
                default:
                    System.out.println("你的选择有误,请选择已存在的业务");
            }
        }else
        {
            System.out.println("学生姓名\t年龄\t学号\t地址\t");
            for(int i = 0;i < student.size();i++) {
                Student s = student.get(i);
                System.out.println(s.getName() + "\t" + s.getAge() + "岁\t" + s.getId() + "\t" + s.getAdress() + "\t");
               }
        }
    }
}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_70793146/article/details/124820806

智能推荐

第七周项目三(负数把正数赶出队列)-程序员宅基地

文章浏览阅读150次。问题及代码:*Copyright(c)2016,烟台大学计算机与控制工程学院 *All right reserved. *文件名称:负数把正数赶出队列.cpp *作者:张冰 *完成日期;2016年10月09日 *版本号;v1.0 * *问题描述: 设从键盘输入一整数序列a1,a2,…an,试编程实现: 当ai>0时,ai进队,当ai<0时,将队首元素出队,当ai

Linux命名空间学习教程(二) IPC-程序员宅基地

文章浏览阅读150次。本文讲的是Linux命名空间学习教程(二) IPC,【编者的话】Docker核心解决的问题是利用LXC来实现类似VM的功能,从而利用更加节省的硬件资源提供给用户更多的计算资源。而 LXC所实现的隔离性主要是来自内核的命名空间, 其中pid、net、ipc、mnt、uts 等命名空间将容器的进程、网络、消息、文件系统和hostname 隔离开。本文是Li..._主机的 ipc 命名空间

adb强制安装apk_adb绕过安装程序强制安装app-程序员宅基地

文章浏览阅读2w次,点赞5次,收藏7次。在设备上强制安装apk。在app已有的情况下使用-r参数在app版本低于现有版本使用-d参数命令adb install -r -d xxx.apk_adb绕过安装程序强制安装app

解决VirtualBox下安装虚拟机(Ubuntu)出错(不能为虚拟电脑Ubuntu打开一个新的任务)的问题_unresolved (unknown) host platform error. (verr_un-程序员宅基地

文章浏览阅读1.6w次。图片摘自别人错误提示如下:Unable to load R3 module D:\Program Files\Oracle\VirtualBox/VBoxDD.dll(VBoxDD):GetLastError=1790(VERR_UNRESOLVED_ERROR)意思是:出现这样的原因应该是跟windows系统的[主题文件被破解]的有关,我也不知道原因为_unresolved (unknown) host platform error. (verr_unresolved_error)

Android Activity转场 -- 揭露动画_acitivity 进出场动画监听-程序员宅基地

文章浏览阅读1k次。A 当前ActivityB 待启动Activity 在A页面,启动B的时,需要在startActivity之后,添加A的自定义退场动画用来覆盖系统的动画overridePendingTransition(0,R.anim.home_close); 调转到B页面,对根布局进行addOnLayoutChangeListenerj监听,并且在其中_acitivity 进出场动画监听

随便推点

Flutter 自定义 轮播图的实现_flutter pageview轮播图 site:csdn.net-程序员宅基地

文章浏览阅读1.9k次。  在 上篇文章–Flutter 实现支持上拉加载和下拉刷新的 ListView 中,我们最终实现的效果是在 listView 上面留下了一段空白,本意是用来加载轮播图的,于是今天就开发了一下,希望能给各位灵感。一 、效果如下说一下大体思路   其实图片展示是用的 PageView ,然后,下面的指示器 是用的 TabPageSelector ,当然整体是用 Stack 包裹起来的。1、..._flutter pageview轮播图 site:csdn.net

java访问权限(笔记2)_非公共类实际只有两种访问权限-程序员宅基地

文章浏览阅读241次。1.类只有两种访问权限:public,可以被所有包中的类访问; 缺省,只能当前包(当前文件夹)中的类访问2.类成员的访问控制权限-- public 可以被跨类,跨包(package)访问-- private 可以修饰数据成员,构造方法,方法,被它修饰的成员只能被本类自已访问,不能被子类访问-- protected ..._非公共类实际只有两种访问权限

苹果电脑启动磁盘是什么意思 苹果电脑磁盘清理软件 mac找不到启动磁盘 启动磁盘没有足够的空间来进行分区-程序员宅基地

文章浏览阅读601次,点赞25次,收藏5次。想要高效清理电脑磁盘垃圾,我们需要利用专业的清理垃圾软件,CleanMyMac X便是其中表现出众的软件之一,利用CleanMyMac X的清理系统垃圾功能,可以释放更多的磁盘存储空间。2.扫描所有文件后,扫描结果会将所有体积较大的视频文件和文件包进行分类罗列,用户可以根据文件类型、文件大小以及访问时间进行选择性删除。2.打开CleanMyMac X软件,在左侧功能栏中分别设置【智能扫描】、【清理】、【保护】、【速度】、【应用程序】、【文件】等六大功能。3.选择【清理】-【系统垃圾】,然后点击【扫描】。

SMTP自动发送邮件功能代码-程序员宅基地

文章浏览阅读1.3k次。SMTP自动发送邮件功能我也是跟着各种博客一步一步搜索出来的,可能在设置邮箱的时候会有各种问题,请参考我的其他博客进行设置https://blog.csdn.net/ly021499/article/details/82423019https://blog.csdn.net/ly021499/article/details/80943030以下代..._smtp.login('gdzg1', 'gdzg_ebscn') 334

sas调整数据集变量顺序-程序员宅基地

文章浏览阅读4.7k次。sas调整数据集变量顺序,更改列顺序,更改列的排列。Python和R在进行变量顺序修改时特别方便,但是sas的keep并不支持变量顺序修改,只能用retain来进行修改,而且修改使用的方法是将所有的变量名重新排列一遍。如果变量特别多会非常麻烦,利用宏变量其实是程序拼接的思想,试用宏变量来实现。以下代码实现了将num1和num2排列到一起,更加复杂的排列可以参考此方法。varnum..._sas retain变量按一定顺序

Vue3 + El-Plus 实现表格行拖拽功能_vue3 elementplus table 可拖拽-程序员宅基地

文章浏览阅读1.3k次,点赞11次,收藏12次。这里项目只需要一个地方用到,就没有封装成组件,直接在用到的.vue文件中写了。在使用的 .Vue 文件中导入。_vue3 elementplus table 可拖拽