java控制台实现学生信息管理系统

 更新时间:2022年02月25日 08:44:28   作者:qq_45424990  
这篇文章主要为大家详细介绍了java控制台实现学生信息管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

简介

最近学了java基础后对以前不会写的作业深有感触,想起以前各种在网上找资料找别人的代码参考,所以今天特地写了了简单的基于控制台的学生信息管理系统供还在学基础的同学参考,写的有问题的地方也希望能指出来,好了,下面开始进入正题。

环境

我使用的是idea编译器和1.8的jdk版本,有使用1.7以下jdk版本的同学运行会报错,解决方法是把ArrayLis<Student> arrayList=new Array<>();改成  ArrayLis<Student> arrayList=new Array<Student>(),下面开始讲解学生信息管理系统的实现过程。

系统分析

学生信息管理系统主要是实现让老师登入账号(账号和密码我设置的都是“123”,你们也可以改成其他的字符串)后可以对学生进行增删改查的操作和查看所有学生的信息,所以我各自定义了一个方法来实现它的功能。

代码实现

首先定义一个学生类Student.java,关于toString是重写了父类也就是Object的方法,是用于方便查看结果的,学生的属性可以按需求添加多个,这里我为了方便只写了四个。

public class Student {
    //学号
    private int  sno;
    //姓名
    private String  name;
    //性别
    private String xes;
    //年龄
    private int age;
//创建get/set方法
    public int getSno() {
        return sno;
    }
 
    public void setSno(int sno) {
        this.sno = sno;
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public String getXes() {
        return xes;
    }
 
    public void setXes(String xes) {
        this.xes = xes;
    }
 
    public int getAge() {
        return age;
    }
 
    public void setAge(int age) {
        this.age = age;
    }
//重写toString方法方便打印
    @Override
    public String toString() {
        return "Student{" +
                "sno=" + sno +
                ", name='" + name + '\'' +
                ", xes='" + xes + '\'' +
                ", age=" + age +
                '}';
    }
}

然后定义一个结构类Structure.java,把需要实现的功能方法写出来。

import java.util.ArrayList;
import java.util.Scanner;
 
/**
 * 老师进行登录操作后(老师的账号密码固定为123)
 * 才能对学生进行增删改查
 */
public class Structure {
    //用来给学生学号赋值自增
    static int i=1;
    //创建ArrayList集合对象用来存放学生对象
    ArrayList<Student> arrayList=new ArrayList<>();
    Scanner scanner=new Scanner(System.in);
    public void enter(){
        System.out.print("请输入用户名:");
        if (scanner.next().equals("123")){
            System.out.print("请输入密码:");
            if (scanner.next().equals("123")){
                System.out.println("登录成功!");
            }else{
                System.out.println("密码错误!请重新登入");
                enter();
            }
        }else {
            System.out.println("用户名错误!请重新登入");
            enter();
        }
    }
    //增加学生信息
    public void add(){
        //创建学生对象
        Student student=new Student();
        //System.out.print("学生ID自增");
        student.setSno(i);
        System.out.print("学生姓名:");
        student.setName(scanner.next());
        System.out.print("性别:");
        student.setXes(scanner.next());
        System.out.print("年龄:");
        student.setAge(scanner.nextInt());
        //把学生对象存入集合中
        arrayList.add(student);
        i++;
    }
    //查看所有学生信息
    public void print(){
        if (arrayList.size()==0){
            System.out.println("没有学生!!!");
        }else {
            //使用增强for循环遍历集合
            for (Student student:arrayList){
                System.out.println(student.toString());
            }
        }
    }
    //通过学号查找指定的学生信息
    public void inquiry(){
        if (arrayList.size()==0){
            System.out.println("没有学生!!!");
        }else {
            System.out.print("请输入想要查找的学生的学号:");
            for (Student student:arrayList){
                if (student.getSno()==scanner.nextInt()){
                    System.out.println(student.toString());
                }
            }
        }
    }
    //删除指定学生的信息
    public void delete(){
        if (arrayList.size()==0){
            System.out.println("没有学生!!!");
        }else {
            System.out.print("请输入想要删除的学生的学号:");
            for (int i=0;i<=arrayList.size();i++){
                if (arrayList.get(i).getSno()==scanner.nextInt()){
                    arrayList.remove(i);
                    System.out.println("删除成功!");
                }
            }
        }
    }
    //修改指定学生的信息
    public void revisesp(){
        if (arrayList.size()==0){
            System.out.println("没有学生!!!");
        }else {
            System.out.print("请输入想要修改的学生的学号:");
            for (Student student:arrayList){
                if (student.getSno()==scanner.nextInt()){
                    revisesp01(student);
                    System.out.println("修改成功!");
                }
            }
        }
    }
    public void revisesp01(Student student) {
        System.out.println("请根据序号选择指令");
        System.out.println("1.修改姓名");
        System.out.println("2.修改性别");
        System.out.println("2.修改年龄");
        switch (scanner.nextInt()){
            case 1:
                student.setName(scanner.next());
                break;
            case 2:
                student.setXes(scanner.next());
                break;
            case 3:
                student.setAge(scanner.nextInt());
                break;
        }
    }
}

最后创建一个测试类Test.java用来测试功能的实现

import java.util.Scanner;
 
public class Test {
    Structure structure=new Structure();
    static Scanner scanner=new Scanner(System.in);
    public static void main(String[] args) {
        Test test=new Test();
        test.a();
    }
    public void a(){
        System.out.println("老师登录(账号密码固定123/123)");
        structure.enter();
        while (true){
            print();
            switch (scanner.nextInt()){
                case 1:
                    structure.add();
                    break;
                case 2:
                    structure.print();
                    break;
                case 3:
                    structure.inquiry();
                    break;
                case 4:
                    structure.delete();
                    break;
                case 5:
                    structure.revisesp();
                    break;
                case 0:
                    return;
                default:
                    System.out.println("请输入正确的指令!");
            }
 
        }
    }
 
    public void print(){
        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("0.退出");
    }
}

最后我们就顺利的完成了一个简单的学生管理系统,能独立完成这个对我们巩固基础知识是能起到一定的帮助的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • java实现银行家算法

    java实现银行家算法

    这篇文章主要为大家详细介绍了java实现银行家算法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-12-12
  • 深入了解MyBatis参数

    深入了解MyBatis参数

    今天小编就为大家分享一篇关于深入了解MyBatis参数,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • JavaEE实现文件下载

    JavaEE实现文件下载

    这篇文章主要介绍了JavaEE实现文件下载的方法,非常的实用,需要的朋友可以参考下
    2014-10-10
  • SpringBoot 实现定时任务的方法详解

    SpringBoot 实现定时任务的方法详解

    这篇文章主要介绍了SpringBoot 实现定时任务的方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Java+Redis撤销重做功能实现

    Java+Redis撤销重做功能实现

    这篇文章主要介绍了Java+Redis实现撤销重做功能,需要考虑撤销的最大步数,撤销之后穿插着其他操作则不能再重做,所以引入分布式锁Redisson进行加锁处理,防止对图表的操作有并发请求导致处理撤销逻辑混乱,感兴趣的朋友跟随小编一起看看吧
    2023-05-05
  • 详解java WebSocket的实现以及Spring WebSocket

    详解java WebSocket的实现以及Spring WebSocket

    这篇文章主要介绍了详解java WebSocket的实现以及Spring WebSocket ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-01-01
  • Spring Cloud Feign原理详解

    Spring Cloud Feign原理详解

    Feign 主要是帮助我们方便进行rest api服务间的调用,本文从Spring Cloud对feign封装的源码中去了解其主要实现机制
    2021-06-06
  • Java类的初始化实践分析

    Java类的初始化实践分析

    这篇文章主要介绍了Java类的初始化,结合具体实例形式较为详细的分析了java类初始化的常见情况、操作技巧与相关注意事项,需要的朋友可以参考下
    2019-07-07
  • mybatis中关于mapper的使用以及注意事项

    mybatis中关于mapper的使用以及注意事项

    这篇文章主要介绍了mybatis中关于mapper的使用以及注意事项,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • 深入讲解Java中的流程控制与运算符

    深入讲解Java中的流程控制与运算符

    这篇文章主要介绍了Java中的流程控制与运算符,是Java入门学习中的基础知识,需要的朋友可以参考下
    2015-09-09

最新评论