java对象数组实现学生信息管理系统

yizhihongxing

Java对象数组实现学生信息管理系统攻略

在Java中,我们可以使用对象数组来实现一个学生信息管理系统。我们可以将学生信息作为一个对象,使用对象数组来存储多个学生的信息。下面是实现学生信息管理系统的完整攻略。

1. 定义学生信息类

我们首先需要定义一个学生信息类,用于存储学生的信息,包括姓名、年龄、性别、学号等。以下是一个示例:

public class Student {
  private String name;
  private int age;
  private String gender;
  private String id;

  // 构造函数
  public Student(String name, int age, String gender, String id) {
    this.name = name;
    this.age = age;
    this.gender = gender;
    this.id = id;
  }

  // getter和setter方法
  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 getGender() {
    return gender;
  }
  public void setGender(String gender) {
    this.gender = gender;
  }
  public String getId() {
    return id;
  }
  public void setId(String id) {
    this.id = id;
  }
}

2. 创建学生信息数组

接下来,我们需要创建一个学生信息数组,用于存储多个学生的信息。以下是一个示例:

public class Main {
  public static void main(String[] args) {
    Student[] students = new Student[3];
    students[0] = new Student("张三", 18, "男", "20191001");
    students[1] = new Student("李四", 19, "女", "20191002");
    students[2] = new Student("王五", 20, "男", "20191003");
  }
}

在上面的示例中,我们创建了一个包含3个学生信息的数组,并初始化了每个学生的信息。

3. 实现学生信息的增删改查功能

现在我们已经创建了一个学生信息数组,接下来我们需要实现学生信息的增删改查功能。以下是一个示例:

import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    Student[] students = new Student[3];
    students[0] = new Student("张三", 18, "男", "20191001");
    students[1] = new Student("李四", 19, "女", "20191002");
    students[2] = new Student("王五", 20, "男", "20191003");

    Scanner scanner = 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. 退出程序");

      int choice = scanner.nextInt();

      if (choice == 1) {
        System.out.println("请输入要查询的学号:");
        String id = scanner.next();
        boolean found = false;
        for (Student student : students) {
          if (student.getId().equals(id)) {
            System.out.println("姓名:" + student.getName());
            System.out.println("年龄:" + student.getAge());
            System.out.println("性别:" + student.getGender());
            System.out.println("学号:" + student.getId());
            found = true;
            break;
          }
        }
        if (!found) {
          System.out.println("未找到学号为" + id + "的学生信息");
        }
      } else if (choice == 2) {
        System.out.println("请输入学生姓名:");
        String name = scanner.next();
        System.out.println("请输入学生年龄:");
        int age = scanner.nextInt();
        System.out.println("请输入学生性别:");
        String gender = scanner.next();
        System.out.println("请输入学生学号:");
        String id = scanner.next();
        Student newStudent = new Student(name, age, gender, id);
        for (int i = 0; i < students.length; i++) {
          if (students[i] == null) {
            students[i] = newStudent;
            System.out.println("添加成功!");
            break;
          }
        }
      } else if (choice == 3) {
        System.out.println("请输入要修改的学生学号:");
        String id = scanner.next();
        boolean found = false;
        for (int i = 0; i < students.length; i++) {
          if (students[i].getId().equals(id)) {
            System.out.println("请输入新的学生姓名:");
            String name = scanner.next();
            System.out.println("请输入新的学生年龄:");
            int age = scanner.nextInt();
            System.out.println("请输入新的学生性别:");
            String gender = scanner.next();
            Student newStudent = new Student(name, age, gender, id);
            students[i] = newStudent;
            System.out.println("修改成功!");
            found = true;
            break;
          }
        }
        if (!found) {
          System.out.println("未找到学号为" + id + "的学生信息");
        }
      } else if (choice == 4) {
        System.out.println("请输入要删除的学生学号:");
        String id = scanner.next();
        boolean found = false;
        for (int i = 0; i < students.length; i++) {
          if (students[i].getId().equals(id)) {
            students[i] = null;
            System.out.println("删除成功!");
            found = true;
            break;
          }
        }
        if (!found) {
          System.out.println("未找到学号为" + id + "的学生信息");
        }
      } else if (choice == 5) {
        break;
      } else {
        System.out.println("无效的操作,请重新输入!");
      }
    }
  }
}

在上面的示例中,我们使用了Scanner类来获取用户在控制台上输入的操作选项和学生信息。我们使用了一个while循环来持续询问用户的操作选项,直到用户选择退出程序为止。

示例说明

以下是两条关于该学生信息管理系统的示例说明:

  1. 添加新学生

用户选择添加学生信息操作,依次输入学生姓名、年龄、性别和学号,程序将根据用户输入创建一个新的学生信息对象,并将其添加到学生信息数组中。例如:

请输入要进行的操作:
1. 查询学生信息
2. 添加学生信息
3. 修改学生信息
4. 删除学生信息
5. 退出程序
2
请输入学生姓名:
赵六
请输入学生年龄:
20
请输入学生性别:
男
请输入学生学号:
20191004
添加成功!
  1. 删除学生

用户选择删除学生信息操作,输入要删除的学生学号,程序将在学生信息数组中查找并删除对应的学生信息对象。例如:

请输入要进行的操作:
1. 查询学生信息
2. 添加学生信息
3. 修改学生信息
4. 删除学生信息
5. 退出程序
4
请输入要删除的学生学号:
20191002
删除成功!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java对象数组实现学生信息管理系统 - Python技术站

(0)
上一篇 2023年5月24日
下一篇 2023年5月24日

相关文章

  • Java全局异常处理器实现过程解析

    Java全局异常处理器实现过程解析 在Java开发中,异常处理是一个重要的话题。在程序运行时,如果发生异常,则需要对其进行处理以避免程序崩溃。为了方便管理和处理程序中的异常,开发人员可以通过实现全局异常处理器来捕获并处理程序中的异常。以下是Java全局异常处理器实现过程的详细攻略。 1. 实现ExceptionHandler接口 Java提供了Excepti…

    Java 2023年5月27日
    00
  • 微信公众号服务号推送模板消息设置方法(后端java)

    下面是详细的攻略: 微信公众号服务号推送模板消息设置方法 开启模板消息功能 要使用模板消息功能,首先需要在公众号后台开启该功能。具体操作步骤如下: 登录公众号后台,在左侧菜单栏中选择“开发者工具”。 点击页面上方的“接口权限”选项卡,找到“模板消息”并开启该功能。 开启模板消息功能后,需要到“模板消息”选项中添加至少一个消息模板。在添加模板时需要提供模板的标…

    Java 2023年5月20日
    00
  • Java数据类型的规则

    Java数据类型的规则 在 Java 中,每一个变量都有一个数据类型,数据类型决定了变量可以存储的数据类型和操作的方式。Java 中的数据类型可以分为两类:基本数据类型和引用数据类型。在使用数据类型时,需要遵守以下规则: 每个变量都必须有一个明确的数据类型,例如:int、double、String 等。 在声明变量时,可以指定其数据类型,并且变量的数据类型不…

    Java 2023年5月20日
    00
  • Java比较对象大小两种常用方法

    Java中比较对象大小的方式主要有两种方法,分别是 Comparable 和 Comparator 接口。 Comparable 接口比较对象大小 Comparable 接口是 Java 自带的一个接口,它定义了对象的自然顺序。如果我们需要对一个类实例进行排序或者比较大小,那么就需要让这个类实现 Comparable 接口,并重写 compareTo 方法。…

    Java 2023年5月26日
    00
  • 使用JDBC在MySQL数据库中如何快速批量插入数据

    使用JDBC在MySQL数据库中进行批量插入数据可以大大提高数据插入的效率。以下是详细步骤: 1.导入MySQL JDBC驱动 首先需要在Java项目中导入MySQL JDBC驱动包,这里以MySQL 8为例,可以从以下链接中下载:https://dev.mysql.com/downloads/connector/j/ 2.创建JDBC连接 使用JDBC连接…

    Java 2023年6月16日
    00
  • SpringBoot2学习之springboot与spring区别分析

    Spring Boot是基于Spring框架的快速开发框架,它可以帮助我们快速构建Spring应用程序。在学习Spring Boot时,我们需要了解Spring Boot与Spring框架之间的区别。本文将详细讲解Spring Boot与Spring框架之间的区别,并提供两个示例。 1. Spring Boot与Spring框架的区别 Spring Boot…

    Java 2023年5月15日
    00
  • Java编程中更新XML文档的常用方法

    当需要更新XML文档时,Java编程中有多种常用的方法。本文将介绍Java编程中经常使用的两种方法。 方法一:使用DOM编程 DOM(文档对象模型)是一种Java内置的XML解析器。通常,使用DOM解析XML文档时,会将整个XML文件加载到内存中,构建一个XML的DOM树,程序员可以通过修改DOM树的方式来实现对XML文件的更新操作。 示例一:添加一个节点 …

    Java 2023年6月15日
    00
  • Java学习之Lambda表达式的使用详解

    Java学习之Lambda表达式的使用详解 什么是Lambda表达式? Lambda表达式是Java 8中引入的一个新特性。它可以将一个方法或一个匿名内部类作为参数作为输入传递,也可以在没有类的情况下声明和调用一个函数。Lambda表达式的语法如下: (parameters) -> expression or statement block 这个语法包…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部