java宿舍管理系统数组
时间: 2023-10-26 11:06:22 浏览: 55
以下是一个简单的Java宿舍管理系统,使用数组实现:
```java
import java.util.Scanner;
public class DormitoryManagementSystem {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[][] students = new int[20][3]; // 20个学生,每个学生有3个属性
int count = 0; // 已经录入的学生数
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. 显示所有学生信息");
System.out.println("0. 退出系统");
int choice = input.nextInt();
switch (choice) {
case 1:
if (count == 20) {
System.out.println("学生信息已满,无法添加!");
break;
}
System.out.println("请输入学生的姓名、年龄、性别(用空格分隔):");
String name = input.next();
int age = input.nextInt();
int gender = input.nextInt();
students[count][0] = age;
students[count][1] = gender;
students[count][2] = name.hashCode(); // 使用hashCode作为唯一标识符
count++;
System.out.println("添加成功!");
break;
case 2:
if (count == 0) {
System.out.println("学生信息为空,无法删除!");
break;
}
System.out.println("请输入要删除的学生的姓名:");
String deleteName = input.next();
int deleteIndex = -1;
for (int i = 0; i < count; i++) {
if (students[i][2] == deleteName.hashCode()) {
deleteIndex = i;
break;
}
}
if (deleteIndex == -1) {
System.out.println("未找到该学生!");
break;
}
for (int i = deleteIndex; i < count - 1; i++) {
students[i] = students[i + 1];
}
count--;
System.out.println("删除成功!");
break;
case 3:
if (count == 0) {
System.out.println("学生信息为空,无法查找!");
break;
}
System.out.println("请输入要查找的学生的姓名:");
String searchName = input.next();
boolean found = false;
for (int i = 0; i < count; i++) {
if (students[i][2] == searchName.hashCode()) {
System.out.println("姓名:" + searchName);
System.out.println("年龄:" + students[i][0]);
System.out.println("性别:" + (students[i][1] == 1 ? "男" : "女"));
found = true;
break;
}
}
if (!found) {
System.out.println("未找到该学生!");
}
break;
case 4:
if (count == 0) {
System.out.println("学生信息为空,无法修改!");
break;
}
System.out.println("请输入要修改的学生的姓名:");
String modifyName = input.next();
boolean modifyFound = false;
for (int i = 0; i < count; i++) {
if (students[i][2] == modifyName.hashCode()) {
System.out.println("请输入学生的修改后的年龄、性别(用空格分隔):");
students[i][0] = input.nextInt();
students[i][1] = input.nextInt();
modifyFound = true;
break;
}
}
if (!modifyFound) {
System.out.println("未找到该学生!");
} else {
System.out.println("修改成功!");
}
break;
case 5:
if (count == 0) {
System.out.println("学生信息为空!");
break;
}
System.out.println("所有学生信息如下:");
for (int i = 0; i < count; i++) {
System.out.println("姓名:" + students[i][2]);
System.out.println("年龄:" + students[i][0]);
System.out.println("性别:" + (students[i][1] == 1 ? "男" : "女"));
}
break;
case 0:
System.out.println("退出系统!");
System.exit(0);
default:
System.out.println("输入错误,请重新输入!");
break;
}
}
}
}
```
在该系统中,使用一个二维数组 `students` 存储学生信息,其中每个学生有三个属性:年龄、性别和唯一标识符(使用 `hashCode()` 方法生成)。系统提供了添加、删除、查找、修改和显示学生信息的功能。通过循环和 `switch` 语句来实现用户菜单和操作选择。