用java二维数组写班级管理系统

时间: 2023-11-13 19:04:55 浏览: 34
抱歉,我是一名语言模型,无法编写代码。但我可以提供一个班级管理系统的示例,供您参考。 import java.util.Scanner; public class ClassManagementSystem { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // 初始化班级信息 String[][] students = { {"001", "张三", "男", "18"}, {"002", "李四", "女", "19"}, {"003", "王五", "男", "20"}, {"004", "赵六", "女", "21"}, {"005", "钱七", "男", "22"} }; // 输出菜单 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("6. 退出系统"); // 循环执行操作 while (true) { System.out.print("请输入您要执行的操作编号:"); int choice = scanner.nextInt(); switch (choice) { case 1: // 查看所有学生信息 System.out.println("学号\t姓名\t性别\t年龄"); for (String[] student : students) { System.out.println(student[0] + "\t" + student[1] + "\t" + student[2] + "\t" + student[3]); } break; case 2: // 添加学生信息 System.out.print("请输入学生信息(学号 姓名 性别 年龄):"); String[] newStudent = scanner.next().split(" "); students = addStudent(students, newStudent); System.out.println("添加成功!"); break; case 3: // 删除学生信息 System.out.print("请输入要删除的学生的学号:"); String studentId = scanner.next(); students = deleteStudent(students, studentId); System.out.println("删除成功!"); break; case 4: // 修改学生信息 System.out.print("请输入要修改的学生的学号:"); String id = scanner.next(); System.out.print("请输入修改后的学生信息(姓名 性别 年龄,用空格分隔):"); String[] studentInfo = scanner.next().split(" "); students = updateStudent(students, id, studentInfo); System.out.println("修改成功!"); break; case 5: // 查询学生信息 System.out.print("请输入要查询的学生的学号:"); String studentId2 = scanner.next(); String[] studentInfo2 = findStudent(students, studentId2); if (studentInfo2 == null) { System.out.println("学生不存在!"); } else { System.out.println("学号\t姓名\t性别\t年龄"); System.out.println(studentInfo2[0] + "\t" + studentInfo2[1] + "\t" + studentInfo2[2] + "\t" + studentInfo2[3]); } break; case 6: // 退出系统 System.out.println("感谢使用班级管理系统!"); System.exit(0); default: System.out.println("输入的操作编号有误,请重新输入!"); } } } /** * 添加学生信息 * * @param students 班级学生信息数组 * @param newStudent 新学生信息数组 * @return 新的班级学生信息数组 */ public static String[][] addStudent(String[][] students, String[] newStudent) { String[][] newStudents = new String[students.length + 1][4]; for (int i = 0; i < students.length; i++) { newStudents[i] = students[i]; } newStudents[students.length] = newStudent; return newStudents; } /** * 删除学生信息 * * @param students 班级学生信息数组 * @param studentId 要删除的学生学号 * @return 新的班级学生信息数组 */ public static String[][] deleteStudent(String[][] students, String studentId) { String[][] newStudents = new String[students.length - 1][4]; int index = 0; for (String[] student : students) { if (!student[0].equals(studentId)) { newStudents[index] = student; index++; } } return newStudents; } /** * 修改学生信息 * * @param students 班级学生信息数组 * @param studentId 要修改的学生学号 * @param studentInfo 修改后的学生信息数组 * @return 新的班级学生信息数组 */ public static String[][] updateStudent(String[][] students, String studentId, String[] studentInfo) { for (String[] student : students) { if (student[0].equals(studentId)) { student[1] = studentInfo[0]; student[2] = studentInfo[1]; student[3] = studentInfo[2]; break; } } return students; } /** * 查询学生信息 * * @param students 班级学生信息数组 * @param studentId 要查询的学生学号 * @return 学生信息数组 */ public static String[] findStudent(String[][] students, String studentId) { for (String[] student : students) { if (student[0].equals(studentId)) { return student; } } return null; } }

相关推荐

最新推荐

recommend-type

java实现二维数组转json的方法示例

主要介绍了java实现二维数组转json的方法,涉及java数组遍历及json格式数据构造相关操作技巧,需要的朋友可以参考下
recommend-type

java String 转成Double二维数组的方法

下面小编就为大家带来一篇java String 转成Double二维数组的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
recommend-type

Java数组的定义、初始化、及二维数组用法分析

主要介绍了Java数组的定义、初始化、及二维数组用法,结合具体实例形式分析了java数组概念、功能、数组定义、静态数组、动态数组、二维数组等相关使用技巧,需要的朋友可以参考下
recommend-type

Lua中使用二维数组实例

主要介绍了Lua中使用二维数组实例,本文直接给出代码实例,看代码更容易理解,需要的朋友可以参考下
recommend-type

java 遍历Map及Map转化为二维数组的实例

主要介绍了java 遍历Map及Map转化为二维数组的实例的相关资料,希望通过本文能帮助到大家,实现这样的功能,需要的朋友可以参考下
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

解释minorization-maximization (MM) algorithm,并给出matlab代码编写的例子

Minorization-maximization (MM) algorithm是一种常用的优化算法,用于求解非凸问题或含有约束的优化问题。该算法的基本思想是通过构造一个凸下界函数来逼近原问题,然后通过求解凸下界函数的最优解来逼近原问题的最优解。具体步骤如下: 1. 初始化参数 $\theta_0$,设 $k=0$; 2. 构造一个凸下界函数 $Q(\theta|\theta_k)$,使其满足 $Q(\theta_k|\theta_k)=f(\theta_k)$; 3. 求解 $Q(\theta|\theta_k)$ 的最优值 $\theta_{k+1}=\arg\min_\theta Q(
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。