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

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日

相关文章

  • jstl标签基础开发步骤(详解)

    jstl是JavaServer Pages标准标记库的缩写,这是一组XML标记,可用于简化JSP页面开发。jstl是一种常用的简化JSP开发的工具,提供了一些标签和函数库,可以方便地对各种数据类型进行处理,并且具有高度的可重用性。 下面是“jstl标签基础开发步骤(详解)”的完整攻略: 步骤一:导入JSTL库 要使用jstl标签库,必须首先把相应的库文件(.…

    Java 2023年6月15日
    00
  • 一文带你认识java中的String类

    String类在Java中是一个非常重要的类,它用来表示字符串,下面就一文带你认识Java中的String类。 1. String类的概述 在Java中,字符串是一个非常常见的数据类型。而String类则是Java提供的处理字符串的主要类。String类是不可变的,也就是说一旦创建了一个String对象,便不能再进行修改。每进行一次字符串的操作,都会创建一个…

    Java 2023年5月26日
    00
  • Spring框架学习之Spring @Autowired实现自动装配的代码

    在Spring框架中,我们可以使用@Autowired注解来实现自动装配。本文将详细介绍@Autowired注解的使用方法和实现原理。 1. @Autowired注解的使用方法 @Autowired注解可以用来自动装配Spring容器中的Bean。我们可以将@Autowired注解应用于构造函数、属性或方法上,Spring容器会自动将相应的Bean注入到这些…

    Java 2023年5月18日
    00
  • 实例讲解Java读取一般文本文件和word文档的方法

    让我来为大家详细讲解一下实例讲解Java读取一般文本文件和word文档的方法。 1. 读取一般文本文件 Java读取一般文本文件的方式很简单,可以使用File类和Scanner类。 1.1 使用File类读取文本文件 参照以下代码: import java.io.BufferedReader; import java.io.FileReader; impor…

    Java 2023年5月19日
    00
  • JAVA算法起步之快速排序实例

    JAVA算法起步之快速排序实例 什么是快速排序 快速排序是一种十分高效的排序算法,采用分治的策略,对于数据量大的随机数组,快速排序是目前已知的最快的排序算法之一。它的基本思路是:通过一趟排序将待排序列分成两部分,一部分比基准元素小,一部分比基准元素大,然后再递归地对这个两部分进行快速排序,以达到整个序列有序的目的。 快速排序的基本步骤 从数列中挑出一个元素,…

    Java 2023年6月1日
    00
  • 详解Java Fibonacci Search斐波那契搜索算法代码实现

    详解Java Fibonacci Search斐波那契搜索算法代码实现 什么是斐波那契搜索算法? 斐波那契搜索算法是一种基于斐波那契数列的搜索算法,它主要用于在一个有序的列表中查找指定的元素。斐波那契搜索算法相对于传统的二分查找算法,在查找长度较大的有序列表时,具有更好的效率表现。 算法实现 以下是按照Java语言实现的完整的斐波那契搜索算法代码: publ…

    Java 2023年5月19日
    00
  • springboot封装JsonUtil,CookieUtil工具类代码实例

    下面开始讲解”Spring Boot封装JsonUtil,CookieUtil工具类代码实例”的攻略,主要包含以下几步: 1. 创建工具类文件 在src/main/java目录下创建一个名为utils的包,然后在该包下创建两个工具类文件:JsonUtil和CookieUtil。 1.1 JsonUtil JsonUtil用于将Java对象与Json数据相互转…

    Java 2023年5月26日
    00
  • JSP 自定义标签第1/3页

    接下来我将为您详细讲解 JSP 自定义标签的完整攻略。 什么是 JSP 自定义标签? JSP 自定义标签(JSP Custom Tag)是一种 JSP 的扩展机制,可以将页面的展现与页面逻辑分离开来。自定义标签通过定义自己的语法可以将一些 Java 代码片段封装到自定义标签中,使得这些功能可以在 JSP 页面中通过 XML 标签来调用使用。 JSP 自定义标…

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