Java学生管理系统学习笔记

学了一段时间的Java,但是总有一些困惑,于是写了这篇文章,来帮助理解Java中的ArrayList,以及完成一个简单的学生管理系统

先看最终成果:

java学生管理系统演示


让我们先来分析一下学生管理系统的组成

作为一个学生管理系统来说,其作用就是为了管理学生,所以,我计划从以下几个方面来完成这个学生管理系统
  1. 主界面

  2. 添加学生

  3. 查看学生

  4. 修改学生

  5. 删除学生……

还有一些小bug的修复


关于主界面的编写

一、打开Java开发工具:IDEA,在里面创建一个学生类(Student),并填写好相关信息。

  1. 添加学生的 学 号 , 姓 名 \color{red}{学号},\color{red}{姓名} 年 龄 \color{red}{年龄} 家 庭 住 址 \color{red}{家庭住址} 信息,为了保证数据不被其他类更改,所以使用private关键字进行修饰。

2.由于使用了private关键字修饰了这个学生类,所以必须使用 ( g e t / s e t ) 方 法 \color{red}{(get/set)方法} get/set 进行学生信息的设置和读取,这里以获取学生的年龄为例,获取学生其他信息类似:

//设置年龄的成员方法
  public void setAge(String age) {
        this.age = age;
    }
/*
    其中该方法不需要static关键字也不需要返回值,方法名为需要获取的变量,首字母大写
    this是一个修饰符,this.age指代的是成员变量中的age,
    用this修饰之后,就不会和setAge方法中的形参age冲突
*/
    public String getAge() {
        return age;
    }
/*
    该方法用于获取被private关键字修饰的成员变量的值,也不需要static关键字进行修饰,
    但是不同的是,改方法是获取变量值的,所以需要用String类型进行修饰,
    又因为改方法中不存在变量名重复问题,返回的age就是成员变量age
*/

3.无参构造方法和带参构造方法的编写( 构 造 方 法 主 要 用 于 创 建 对 象 \color{red}{构造方法主要用于创建对象}

无参构造方法

//    无参构造
    public Student(){}

带有参数的构造方法

//    有参构造
    public Student(String sid,String name,String age,String address){
        this.sid=sid;
        this.name=name;
        this.age=age;
        this.address=address;
    }

二、新建一个学生测试类(Student Manager),用于编写主界面

1.写出学生管理系统的主界面

public static void main(String[] args) {
        ArrayList<Student> arr=new ArrayList<Student>();
        System.out.println("----欢迎进入学生管理系统----");
        System.out.println("1.添加学生信息");
        System.out.println("2.查看学生信息");
        System.out.println("3.删除学生信息");
        System.out.println("4.修改学生信息");
        System.out.println("退出系统")
      System.out.println("请输入您想要进行的操作,回车键进入:");
    }

2.使用switch语句接收键盘录入的选项

//导包
        Scanner sc = new Scanner(System.in);
        //定义一个变量,用键盘接收录入的值,然后进行判断
        int num = sc.nextInt();
        switch (num) {
            case 1:
                System.out.println("添加学生信息成功");
                break;
            case 2:
                System.out.println("查看学生信息成功");
                break;
            case 3:
                System.out.println("删除学生信息成功");
                break;
            case 4:
                System.out.println("修改学生信息成功");
                break;
            case 5:
                System.out.println("退出系统成功");
                break;
            default:
                System.out.println("该功能暂不支持,请等待后续版本更新");
        }

3.至此主界面的编写就完成了,准备开始编写程序具体内容的实现代码


添加学生页面的编写

定义一个集合,用于存储学生对象,这个集合的名字是arr

ArrayList<Student> arr=new ArrayList<Student>();
/*
这个集合的名字是arr,又因为这个集合里面存储的是学生信息,
所以该集合的数据类型是Student
*/

定义一个方法(addStudent),用于添加学生功能的实现

分析一下问题,不难得出,由于是添加信息,所以 不 需 要 返 回 值 \color{#FF3030}{不需要返回值} ;又因为需要将信息添加到集合中,所以 需 要 一 个 集 合 类 型 的 参 数 a r r \color{#FF3030}{需要一个集合类型的参数arr} arr方法写完之后,不要忘记调用方法哦

public static void addStudent(ArrayList<Student> arr){
        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 address = sc.nextLine();
//        创建学生对象
        Student s=new Student();
//        添加学号,姓名,年龄,家庭住址
        s.setSid(sid);
        s.setName(name);
        s.setAge(age);
        s.setAddress(address);
//        将对象添加到集合中
        arr.add(s);
        System.out.println("添加成功!");

查看学生页面的编写

分析思路如下:

1.首先使用输出语句,将表头进行输出

2.使用 a r r . s i z e ( ) \color{red}{arr.size()} arr.size() a r r . g e t ( ) \color{red}{arr.get()} arr.get()方法获取集合的长度和指定索引处的元素值

3创建一个对象s用于保存获取到的索引处的元素值

4.使用循环将学生信息输出即可

public static void findAllStudent(ArrayList<Student> arr) {
//        表头信息编写
        System.out.println("学号\t\t姓名\t\t年龄\t\t家庭住址\t\t");
        for (int i = 0; i < arr.size(); ++i) {
//            创建一个变量s来接收arr.get(i);这个方法的返回值
            Student s = arr.get(i);
            System.out.println(s.getSid() + "" + s.getName() + "" + s.getAge() + "" + s.getAddress());
        }
    }

删除学生页面的编写

分析思路如下:

1.输入提示信息提供用户输入要删除的学号

2.创建变量接收用户输入的数据

3.遍历集合,得到每一个学生对象

4.调用方法( g e t S i d \color{red}{getSid} getSid)获得学生对象中的学号信息,并与键盘输入的进行比较( e q u a l s \color{red}{equals} equals);如果相同,则进行删除操作

public static void deleteStudent(ArrayList<Student> arr) {
        Scanner sc = new Scanner(System.in);
//        提示用户输入
        System.out.println("请输入您需要删除学生的学号:");
        String sid = sc.nextLine();//变量sid接收输入的值
//        创建变量并接收学生学号
//        使用循环进行遍历
        for (int i = 0; i < arr.size(); i++) {
    //
        Student s = arr.get(i);
            if (s.getSid().equals(sid)) {
                arr.remove(i);
            }
            System.out.println("删除成功!");
        }

修改学生页面的编写

分析思路如下:

1.给出提示信息并保存用户输入的学生数据

2.使用 s e t ( ) 方 法 \color{red}{set()方法} set()对学生信息进行修改

3.遍历学生对象,如果学生的学号和键盘录入的学生学号相同,则进行修改操作,并给出修改成功的提示

public static void updateStudent(ArrayList<Student> arr) {
        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 address = sc.nextLine();
//        创建学生对象
        Student s = new Student();
//        开始进行修改
        s.setSid(sid);
        s.setName(name);
        s.setAge(age);
        s.setAddress(address);
//        遍历学生信息
        for (int i = 0; i < arr.size(); i++) {
//           获取每个学生对象
            Student student = arr.get(i);
            if (student.getSid().equals(sid))
                //使用集合进行学生信息的修改
                arr.set(i, s);
            break;

        }
        System.out.println("修改成功!");
    }

到这里,一个简单的学生管理系统大致就做好了,当然还有一些小bug,比如学号重复,学号不存在等等,我相信根据上面的案例,您应该也能将这些bug修复啦,有什么不理解的可以联系我,也欢迎您的批评指正,谢谢您了。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
1、把6个java文件保存到同一文件夹,例如C:\Student.然后将6个java文件分别编译生成相应的字节码(.class)文件,然后,用java 解释器运行主类:C:\Student\java StudentManager 2、使用jar.exe把一些文件压缩成JAR文件,来发布我们的应用程序。我们可以把本java应用程序涉及到的类文件(*.class)压缩成一个JAR文件,例如StudentManager.jar。 首先,用记事本编写一个清单文件(Manifestfiles): Manifest-Version: 1.0 Main-class: StudentManager Created-By: 1.2.2(Sun Microsystems Inc.) 例如,清单文件命名为moon.mf,保存到C:\Student。 注意:在编写清单文件时,在“Manifest-Version:”和“1.0”之间,“Main-class:”和“StudentManager”之间,以及在“Created-By:”和“1.2.2(Sun Microsystems Inc.)”之间必须有且只有一个空格。 然后,如下生成JAR文件: C:\Student\jar cvfm StudentManager.jar moon.mf *.class 其,参数C表示要生成一个新的JAR文件;f表示要生成的JAR文件的名字,m表示文件清单文件的名字,v表示生成详细输出到标准输出上。具体运行jar命令请查看 现在就可以将StudentManager.jar拷贝到任何一个安装了java运行环境(jdk版本号须高于1.2.2)的计算机上,只要鼠标双击StudentManager.jar文件就可以运行该java应用程序了。 注意在装了WinRAR解压缩软件的机子上可能不能运行,因此,在发布本系统时,还应该建立一个有如下内容的.bat文件(StudentManager.bat),用记事本编写: javaw -jar StudentManager.jar 保存即可。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

是个笨小孩呀

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

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

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

打赏作者

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

抵扣说明:

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

余额充值