java学生管理系统增删改查 数组
时间: 2025-01-22 17:14:34 浏览: 36
### Java 学生管理系统增删改查示例 (基于数组)
为了展示如何使用数组实现学生管理系统的增删改查功能,下面提供了一段完整的Java代码。这段代码展示了如何利用简单的控制台输入输出完成对学生信息的基本操作。
#### 定义Student类
首先定义`Student`类用于存储学生的姓名和年龄:
```java
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;
}
}
```
#### 主程序逻辑
接下来是主程序部分,在这里实现了增删改查的功能,并且使用了数组来保存多个学生对象实例:
```java
import java.util.Scanner;
public class StudentManagementSystem {
static final int MAX_STUDENTS = 10; // 设定最大容量
static Student[] students = new Student[MAX_STUDENTS];
static int studentCount = 0;
public static void main(String[] args) {
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. 退出");
switch(scanner.nextInt()){
case 1 -> addNewStudent();
case 2 -> deleteExistingStudent();
case 3 -> updateStudentInfo();
case 4 -> queryAllStudents();
case 5 -> {scanner.close();return;}
default -> System.out.println("请输入有效的选项!");
}
}
}
private static void addNewStudent(){
if(studentCount >= MAX_STUDENTS){
System.out.println("已达到最大人数限制!");
return;
}
try(Scanner input = new Scanner(System.in)){
System.out.print("请输入新的学生名字:");
String name = input.nextLine();
System.out.print("请输入该同学的年龄:");
int age = Integer.parseInt(input.nextLine());
students[studentCount++] = new Student(name,age);
System.out.println("新增加的学生记录为:" + name + " (" + age + ") 年龄.");
} catch(Exception e){
System.err.println(e.getMessage());
}
}
private static void deleteExistingStudent(){
try(Scanner input = new Scanner(System.in)){
System.out.print("请输入想要删除的学生的名字:");
String targetName = input.nextLine();
boolean found = false;
for(int i=0;i<studentCount;i++){
if(students[i].getName().equals(targetName)){
for(;i<studentCount-1;i++)
students[i]=students[i+1];
studentCount--;
found=true;
break;
}
}
if(!found)
System.out.println("未找到名为 "+targetName+" 的学生.");
else
System.out.println("成功移除了名为 "+targetName+" 的学生.");
}catch(Exception e){
System.err.println(e.getMessage());
}
}
private static void updateStudentInfo(){
try(Scanner input = new Scanner(System.in)){
System.out.print("请输入你想更新其信息的学生的名字:");
String targetName = input.nextLine();
for(Student s : students){
if(s!=null && s.getName().equals(targetName)){
System.out.print("当前年龄为:" + s.getAge()+"\n"+"请设置新的年龄:");
int updatedAge=input.nextInt();
s.setAge(updatedAge);
System.out.println("已经将"+s.getName()+"的新年龄设为:"+updatedAge+".");
return;
}
}
System.out.println("未能找到指定名称的学生.");
}catch(Exception e){
System.err.println(e.getMessage());
}
}
private static void queryAllStudents(){
StringBuilder sb=new StringBuilder("\n--- 所有学生列表 ---\n");
for(int i=0;i<studentCount;i++){
sb.append(i+1).append(". ").append(students[i].getName()).append(", ")
.append(students[i].getAge()).append("岁\n");
}
sb.append("--\n");
System.out.print(sb.toString());
}
}
```
此代码片段提供了基本的学生管理系统框架,其中包含了添加、删除、修改以及查询全部学生信息的方法[^1]。需要注意的是,上述例子中采用固定大小的数组作为容器,这在实际应用中可能不够灵活;对于更复杂的应用场景建议考虑使用动态的数据结构如ArrayList等。
阅读全文
相关推荐

















