使用Java做一个简单的学生宿舍管理系统
时间: 2024-04-27 16:22:16 浏览: 20
好的,我可以为您提供一个简单的学生宿舍管理系统的概述。
首先,您需要设计一个数据模型来表示学生和宿舍信息。您可以创建一个Java类来表示学生,包括学生的姓名、学号、性别、联系方式等信息。同样,您也可以创建一个Java类来表示宿舍,包括宿舍的编号、宿舍楼号、宿舍床位数等信息。
接着,您需要实现一个用户界面,让用户可以方便地进行宿舍管理。您可以使用Java Swing来创建用户界面,并在界面上添加按钮和文本框等组件来方便用户进行操作。
然后,您需要编写程序逻辑来实现宿舍管理功能。您可以使用Java IO或者JDBC来连接数据库,并实现学生和宿舍信息的增删改查等操作。您还需要考虑数据的安全性和稳定性,可以使用Java的异常处理机制和日志记录功能来保证系统的稳定性和安全性。
最后,您需要对程序进行测试和调试,确保系统能够正常运行并满足用户的需求。
以上是一个简单的学生宿舍管理系统的概述,您可以根据具体的需求和实际情况进行进一步的开发和完善。
相关问题
使用Java做一个简单的学生宿舍管理系统并输出源码
好的,我可以提供一个简单的学生宿舍管理系统的Java源代码,供您参考。
```java
import java.sql.*;
import java.util.Scanner;
public class DormitoryManagementSystem {
// 数据库连接信息
private static final String DRIVER = "com.mysql.jdbc.Driver";
private static final String URL = "jdbc:mysql://localhost:3306/dormitory";
private static final String USERNAME = "root";
private static final String PASSWORD = "123456";
// 数据库连接对象和查询结果集对象
private static Connection connection = null;
private static Statement statement = null;
private static ResultSet resultSet = null;
public static void main(String[] args) {
try {
// 连接数据库
Class.forName(DRIVER);
connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
// 显示菜单
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("=====================================");
// 获取用户输入的选项
Scanner scanner = new Scanner(System.in);
int option = scanner.nextInt();
switch (option) {
case 1:
addStudent();
break;
case 2:
deleteStudent();
break;
case 3:
modifyStudent();
break;
case 4:
queryStudent();
break;
case 5:
System.exit(0);
break;
default:
System.out.println("无效的选项,请重新输入!");
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
// 关闭数据库连接和查询结果集对象
try {
if (resultSet != null) {
resultSet.close();
}
if (statement != null) {
statement.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
// 添加学生信息
public static void addStudent() {
try {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入学生姓名:");
String name = scanner.nextLine();
System.out.println("请输入学生性别:");
String gender = scanner.nextLine();
System.out.println("请输入学生年龄:");
int age = scanner.nextInt();
System.out.println("请输入学生宿舍编号:");
int dormitoryId = scanner.nextInt();
// 插入学生信息到数据库
String sql = "INSERT INTO student(name, gender, age, dormitory_id) VALUES('" + name + "', '" + gender + "', " + age + ", " + dormitoryId + ")";
statement = connection.createStatement();
int result = statement.executeUpdate(sql);
if (result > 0) {
System.out.println("添加学生信息成功!");
} else {
System.out.println("添加学生信息失败!");
}
} catch (Exception e) {
e.printStackTrace();
}
}
// 删除学生信息
public static void deleteStudent() {
try {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要删除的学生学号:");
int id = scanner.nextInt();
// 删除学生信息
String sql = "DELETE FROM student WHERE id = " + id;
statement = connection.createStatement();
int result = statement.executeUpdate(sql);
if (result > 0) {
System.out.println("删除学生信息成功!");
} else {
System.out.println("删除学生信息失败!");
}
} catch (Exception e) {
e.printStackTrace();
}
}
// 修改学生信息
public static void modifyStudent() {
try {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要修改的学生学号:");
int id = scanner.nextInt();
// 查询学生信息
String querySql = "SELECT * FROM student WHERE id = " + id;
statement = connection.createStatement();
resultSet = statement.executeQuery(querySql);
if (resultSet.next()) {
System.out.println("学生信息如下:");
System.out.println("学生姓名:" + resultSet.getString("name"));
System.out.println("学生性别:" + resultSet.getString("gender"));
System.out.println("学生年龄:" + resultSet.getInt("age"));
System.out.println("学生宿舍编号:" + resultSet.getInt("dormitory_id"));
// 修改学生信息
System.out.println("请输入修改后的学生姓名:");
String name = scanner.next();
System.out.println("请输入修改后的学生性别:");
String gender = scanner.next();
System.out.println("请输入修改后的学生年龄:");
int age = scanner.nextInt();
System.out.println("请输入修改后的学生宿舍编号:");
int dormitoryId = scanner.nextInt();
String updateSql = "UPDATE student SET name = '" + name + "', gender = '" + gender + "', age = " + age + ", dormitory_id = " + dormitoryId + " WHERE id = " + id;
statement = connection.createStatement();
int result = statement.executeUpdate(updateSql);
if (result > 0) {
System.out.println("修改学生信息成功!");
} else {
System.out.println("修改学生信息失败!");
}
} else {
System.out.println("未找到该学生信息!");
}
} catch (Exception e) {
e.printStackTrace();
}
}
// 查询学生信息
public static void queryStudent() {
try {
Scanner scanner = new Scanner(System.in);
System.out.println("1. 查询所有学生信息");
System.out.println("2. 按学号查询学生信息");
System.out.println("3. 按宿舍编号查询学生信息");
int option = scanner.nextInt();
switch (option) {
case 1:
// 查询所有学生信息
String queryAllSql = "SELECT * FROM student";
statement = connection.createStatement();
resultSet = statement.executeQuery(queryAllSql);
while (resultSet.next()) {
System.out.println("学生学号:" + resultSet.getInt("id"));
System.out.println("学生姓名:" + resultSet.getString("name"));
System.out.println("学生性别:" + resultSet.getString("gender"));
System.out.println("学生年龄:" + resultSet.getInt("age"));
System.out.println("学生宿舍编号:" + resultSet.getInt("dormitory_id"));
System.out.println("--------------------------");
}
break;
case 2:
// 按学号查询学生信息
System.out.println("请输入要查询的学生学号:");
int id = scanner.nextInt();
String queryByIdSql = "SELECT * FROM student WHERE id = " + id;
statement = connection.createStatement();
resultSet = statement.executeQuery(queryByIdSql);
if (resultSet.next()) {
System.out.println("学生姓名:" + resultSet.getString("name"));
System.out.println("学生性别:" + resultSet.getString("gender"));
System.out.println("学生年龄:" + resultSet.getInt("age"));
System.out.println("学生宿舍编号:" + resultSet.getInt("dormitory_id"));
} else {
System.out.println("未找到该学生信息!");
}
break;
case 3:
// 按宿舍编号查询学生信息
System.out.println("请输入要查询的宿舍编号:");
int dormitoryId = scanner.nextInt();
String queryByDormitoryIdSql = "SELECT * FROM student WHERE dormitory_id = " + dormitoryId;
statement = connection.createStatement();
resultSet = statement.executeQuery(queryByDormitoryIdSql);
while (resultSet.next()) {
System.out.println("学生学号:" + resultSet.getInt("id"));
System.out.println("学生姓名:" + resultSet.getString("name"));
System.out.println("学生性别:" + resultSet.getString("gender"));
System.out.println("学生年龄:" + resultSet.getInt("age"));
System.out.println("学生宿舍编号:" + resultSet.getInt("dormitory_id"));
System.out.println("--------------------------");
}
break;
default:
System.out.println("无效的选项,请重新输入!");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
上述代码实现了一个简单的学生宿舍管理系统,包括添加、删除、修改和查询学生信息的功能。其中,程序使用了Java的JDBC API来连接MySQL数据库,并实现了基本的增删改查操作。您可以根据自己的需求和实际情况对源码进行进一步的修改和完善。
请使用Java设计一个简易的学生宿舍管理系统
好的,我来为您设计一个简易的学生宿舍管理系统。
首先,我们需要定义一些关键词和数据结构:
- 学生:包含学生ID、姓名、性别、入住时间、宿舍号等信息。
- 宿舍:包含宿舍号、宿舍类型、宿舍楼层、剩余床位数等信息。
我们可以使用面向对象的方式来设计这个系统。首先,我们需要定义学生和宿舍两个类:
```java
public class Student {
private int id; // 学生ID
private String name; // 姓名
private String gender; // 性别
private Date checkInTime; // 入住时间
private int dormitoryNumber; // 宿舍号
// 构造函数
public Student(int id, String name, String gender, Date checkInTime, int dormitoryNumber) {
this.id = id;
this.name = name;
this.gender = gender;
this.checkInTime = checkInTime;
this.dormitoryNumber = dormitoryNumber;
}
// getter和setter方法
// ...
}
public class Dormitory {
private int dormitoryNumber; // 宿舍号
private String dormitoryType; // 宿舍类型
private int floor; // 宿舍楼层
private int remainingBeds; // 剩余床位数
// 构造函数
public Dormitory(int dormitoryNumber, String dormitoryType, int floor, int remainingBeds) {
this.dormitoryNumber = dormitoryNumber;
this.dormitoryType = dormitoryType;
this.floor = floor;
this.remainingBeds = remainingBeds;
}
// getter和setter方法
// ...
}
```
接下来,我们需要定义一个管理系统类,该类可以添加、删除、查询和修改学生和宿舍信息:
```java
import java.util.ArrayList;
public class DormitoryManagementSystem {
private ArrayList<Student> students; // 学生列表
private ArrayList<Dormitory> dormitories; // 宿舍列表
// 构造函数
public DormitoryManagementSystem() {
students = new ArrayList<Student>();
dormitories = new ArrayList<Dormitory>();
}
// 添加学生
public void addStudent(Student student) {
students.add(student);
// 更新宿舍剩余床位数
for (Dormitory dormitory : dormitories) {
if (dormitory.getDormitoryNumber() == student.getDormitoryNumber()) {
dormitory.setRemainingBeds(dormitory.getRemainingBeds() - 1);
break;
}
}
}
// 删除学生
public void removeStudent(int id) {
// 查找学生
int index = -1;
for (int i = 0; i < students.size(); i++) {
if (students.get(i).getId() == id) {
index = i;
break;
}
}
if (index != -1) {
students.remove(index);
// 更新宿舍剩余床位数
for (Dormitory dormitory : dormitories) {
if (dormitory.getDormitoryNumber() == students.get(index).getDormitoryNumber()) {
dormitory.setRemainingBeds(dormitory.getRemainingBeds() + 1);
break;
}
}
}
}
// 查询学生
public Student getStudent(int id) {
// 查找学生
for (Student student : students) {
if (student.getId() == id) {
return student;
}
}
return null;
}
// 修改学生
public void updateStudent(int id, Student newStudent) {
// 查找学生
int index = -1;
for (int i = 0; i < students.size(); i++) {
if (students.get(i).getId() == id) {
index = i;
break;
}
}
if (index != -1) {
students.set(index, newStudent);
}
}
// 添加宿舍
public void addDormitory(Dormitory dormitory) {
dormitories.add(dormitory);
}
// 删除宿舍
public void removeDormitory(int dormitoryNumber) {
// 查找宿舍
int index = -1;
for (int i = 0; i < dormitories.size(); i++) {
if (dormitories.get(i).getDormitoryNumber() == dormitoryNumber) {
index = i;
break;
}
}
if (index != -1) {
dormitories.remove(index);
}
}
// 查询宿舍
public Dormitory getDormitory(int dormitoryNumber) {
// 查找宿舍
for (Dormitory dormitory : dormitories) {
if (dormitory.getDormitoryNumber() == dormitoryNumber) {
return dormitory;
}
}
return null;
}
// 修改宿舍
public void updateDormitory(int dormitoryNumber, Dormitory newDormitory) {
// 查找宿舍
int index = -1;
for (int i = 0; i < dormitories.size(); i++) {
if (dormitories.get(i).getDormitoryNumber() == dormitoryNumber) {
index = i;
break;
}
}
if (index != -1) {
dormitories.set(index, newDormitory);
}
}
}
```
以上是一个简易的学生宿舍管理系统的设计,您可以根据需求进行扩展和修改。