java实现简单的学生信息管理系统代码实例

针对“java实现简单的学生信息管理系统代码实例”的完整攻略,以下是详细讲解过程:

1.准备工作

首先,我们要在本地安装Java开发环境(Java Development Kit,简称JDK),可以从Oracle官网上下载并安装最新版JDK,安装过程中需要设置环境变量,以便于后续命令行操作。

2.创建项目

接下来,我们创建项目文件夹来存放程序代码和相关文件,在命令行下执行以下命令创建项目文件夹:

mkdir StudentManagementSystem

进入目录:

cd StudentManagementSystem

然后,我们用文本编辑器创建java程序文件,例如:

touch Student.java

最后,我们用命令行编译java文件:

javac Student.java

3.编写代码

具体实现过程可以参考以下两部分具体代码

(1)添加学生信息

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

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

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

    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 static void main(String[] args) {
        List<Student> students = new ArrayList<>();
        Scanner scanner = new Scanner(System.in);
        String input;
        while (true) {
            System.out.print("请输入学生姓名和年龄(以英文逗号分隔),输入 q 结束:");
            input = scanner.nextLine();
            if (input.equalsIgnoreCase("q")) {
                break;
            }

            String[] studentInfo = input.split(",");
            if (studentInfo.length != 2) {
                System.out.println("输入信息格式错误,请重新输入");
                continue;
            }

            String name = studentInfo[0].trim();
            int age;
            try {
                age = Integer.parseInt(studentInfo[1].trim());
            } catch (NumberFormatException e) {
                System.out.println("年龄输入有误,请重新输入");
                continue;
            }

            Student student = new Student(name, age);
            students.add(student);
            System.out.println("添加成功");
        }

        System.out.println("学生信息列表:");
        System.out.println("姓名\t年龄");
        for (Student student : students) {
            System.out.println(student.getName() + "\t" + student.getAge());
        }
    }
}

(2)删除学生信息

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;

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

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

    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 static void main(String[] args) {
        List<Student> students = new ArrayList<>();
        Scanner scanner = new Scanner(System.in);
        String input;
        while (true) {
            System.out.print("请选择操作:1 添加学生,2 删除学生,3 列出学生,4 退出:");
            input = scanner.nextLine();
            if (input.equals("1")) { // 添加学生
                System.out.print("请输入学生姓名和年龄(以英文逗号分隔):");
                input = scanner.nextLine();
                String[] studentInfo = input.split(",");
                if (studentInfo.length != 2) {
                    System.out.println("输入信息格式错误,请重新输入");
                    continue;
                }

                String name = studentInfo[0].trim();
                int age;
                try {
                    age = Integer.parseInt(studentInfo[1].trim());
                } catch (NumberFormatException e) {
                    System.out.println("年龄输入有误,请重新输入");
                    continue;
                }

                Student student = new Student(name, age);
                students.add(student);
                System.out.println("添加成功");
            } else if (input.equals("2")) { // 删除学生
                if (students.isEmpty()) {
                    System.out.println("学生列表为空,无法删除");
                    continue;
                }

                System.out.print("请输入要删除的学生姓名:");
                input = scanner.nextLine();
                Iterator<Student> iterator = students.iterator();
                boolean deleted = false;
                while (iterator.hasNext()) {
                    Student student = iterator.next();
                    if (student.getName().equals(input)) {
                        iterator.remove();
                        System.out.println("删除成功");
                        deleted = true;
                    }
                }
                if (!deleted) {
                    System.out.println("未找到指定学生");
                }
            } else if (input.equals("3")) { // 列出学生
                if (students.isEmpty()) {
                    System.out.println("学生列表为空");
                } else {
                    System.out.println("学生信息列表:");
                    System.out.println("姓名\t年龄");
                    for (Student student : students) {
                        System.out.println(student.getName() + "\t" + student.getAge());
                    }
                }
            } else if (input.equals("4")) { // 退出
                break;
            } else {
                System.out.println("输入不正确,请重新输入");
            }
        }

        System.out.println("程序已退出");
    }
}

4.运行程序

在命令行下执行以下命令来运行程序:

java Student

输入相应的操作指令,即可进行相应操作。

以上就是“java实现简单的学生信息管理系统代码实例”的完整攻略,希望能够对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java实现简单的学生信息管理系统代码实例 - Python技术站

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

相关文章

  • 详解springboot springsecuroty中的注销和权限控制问题

    下面是详解springboot springsecuroty中的注销和权限控制问题的完整攻略。 1. 概述 Spring Security是Spring框架的安全框架,可以实现身份认证、权限控制、防护攻击等功能。在Spring Boot中,可以使用Spring Security来保护web应用程序的安全性。而注销和权限控制是Spring Security中常…

    Java 2023年5月20日
    00
  • springboot2.3之后hibernate-validator依赖缺失【踩坑】

    当使用Spring Boot 2.3及以上版本时,可能会遇到hibernate-validator依赖缺失的问题。这是因为Spring Boot 2.3移除了hibernate-validator依赖,而将其替换为了jakarta.validation依赖。因此,在使用hibernate-validator时,需要手动添加jakarta.validation…

    Java 2023年5月20日
    00
  • Spring Data Jpa 中原生查询 REGEXP 的使用详解

    下面是关于“Spring Data Jpa 中原生查询 REGEXP 的使用详解”的完整攻略。 什么是 Spring Data Jpa Spring Data Jpa 是 Spring Data 家族中的一员,它简化了对关系型数据库的访问,使得开发人员可以更方便地使用 JPA 来访问数据库。相比于原生 JPA,Spring Data Jpa 提供了更高层次的…

    Java 2023年6月3日
    00
  • Java如何使用spire进行word文档的替换详解

    什么是Spire.Doc?Spire.Doc是一个专业的Word .NET库,支持生成、操作、查看、读取和转换Word文档,包括doc、docx、rtf、txt等文档格式。Spire.Doc能够让开发者快速地添加内容和格式化文档,并将文档导出为一种格式。 如何使用Spire进行word文档替换的详细攻略 首先,我们需要引用Spire.Doc的命名空间,并且创…

    Java 2023年5月26日
    00
  • 详解Java无需解压直接读取Zip文件和文件内容

    接下来我将详细讲解如何在Java中无需解压直接读取Zip文件和文件内容的攻略: 支持Java无需解压直接读取Zip文件和文件内容 1. 使用Java的ZipInputStream解压缩并读取文件内容 Java内置的ZipInputStream类可以方便地对Zip文件进行操作,而无需先解压文件。下面是使用ZipInputStream来读取Zip文件的示例代码:…

    Java 2023年5月20日
    00
  • idea中的Maven导包失败问题解决方案汇总

    下面我将详细讲解 “idea中的Maven导包失败问题解决方案汇总”的完整攻略,具体步骤如下: 1. 清理缓存 如果Maven导包失败,可以先尝试清理Maven的缓存: 依次点击File -> Settings -> Build, Execution, Deployment -> Build Tools -> Maven -> …

    Java 2023年5月20日
    00
  • 什么是Atomic类?

    Atomic类是Java提供的线程安全的、并发编程中常用的一种原子性操作的基础类。在Java中,对于一些基本数据类型,例如int、long、boolean等,线程之间的并发读、写操作是非常常见的,而这些基本类型的操作在Java的多线程环境下需要保证原子性,即要么是全部执行成功,要么全部执行失败,简单地说就是不能因为线程切换而导致数据不一致。如果在并发执行多个…

    Java 2023年5月10日
    00
  • java暴力匹配及KMP算法解决字符串匹配问题示例详解

    Java暴力匹配及KMP算法解决字符串匹配问题 1. 概述 在字符串匹配问题中,有两种经典的算法:暴力匹配和KMP算法。暴力匹配是最简单的字符串匹配算法,其思路是将字符串的每个子串与目标字符串进行匹配。KMP算法是一种更高效的字符串匹配算法,它通过预处理字符串的next数组来避免不必要的字符比较,从而在匹配过程中提高效率。 2. Java暴力匹配 暴力匹配算…

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