重要的 学生管理系统

package com.daxing;
//学生管理系统

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

public class StudentManager {
public static void main(String[] args) {
//创建集合对象用于存储学生数据
ArrayList<Student> array = new ArrayList<>();

//用while循环语句返回主界面
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 sc = new Scanner(System.in);
System.out.println("请选择:");
String line = sc.nextLine();


//switch完成选择
switch (line) {
case "1":
System.out.println("添加学生");
//调用
addStudent(array);
break;
case "2":
System.out.println("删除学生");
//调用
deleteStudent(array);
break;
case "3":
System.out.println("修改学生");
//调用
updateStudent(array);
break;
case "4":
System.out.println("查看所有学生");
//调用
findOutStudent(array);
break;
case "5":
System.out.println("退出系统,谢谢使用!");
System.exit(0);
// break;

}
}
}

//添加学生信息
public static void addStudent(ArrayList<Student> array) {

//键盘录入学生信息
Scanner sc = new Scanner(System.in);
String sid;
//为了在输入了重复的学号的条件下,程序仍然能回到这里,使用循环
while (true) {
System.out.println("请输入学生学号:");
sid = sc.nextLine();
//调用学号是否已经被使用的方法
boolean flag = isUsed(array, sid);
if (flag) {
System.out.println("该学号已被占用,请重新输入!!!");
} else {
break;
}
}
System.out.println("请输入学生姓名:");
String name = sc.nextLine();
System.out.println("请输入学生年纪:");
String age = sc.nextLine();
System.out.println("请输入学生居住地:");
String address = sc.nextLine();

//创建学生对象
Student s = new Student();

//把键盘录入的数据赋值给学生对象的成员变量
s.setSid(sid);
s.setName(name);
s.setAddress(address);
s.setAge(age);

//将学生对象添加到集合中
array.add(s);

//给出添加成功的提示
System.out.println("添加成功!");
}

//定义一个方法,判断学号是否已经被使用
public static boolean isUsed(ArrayList<Student> array, String sid) {
boolean flag = false;
for (int i = 0; i < array.size(); i++) {
Student s = array.get(i);
if (s.getSid().equals(sid)) {
flag = true;
break;
}
}
return flag;
}

//查看学生信息
public static void findOutStudent(ArrayList<Student> array) {
//显示表头

if (array.size() == 0) {
System.out.println("无信息!!!");
} else {
System.out.println("学号" + "\t\t\t" + "姓名" + "\t\t" + "年纪" + "\t\t" + "居住地");
//将集合中的数据取出,年纪添加“岁”
for (int i = 0; i < array.size(); i++) {
Student s = array.get(i);
System.out.println(s.getSid() + "\t" + s.getName() + "\t" + s.getAge() + "岁\t" + s.getAddress());
}
}
}

//删除学生信息
public static void deleteStudent(ArrayList<Student> array) {
//键盘录入待删除学生学号(因为名字的话可能会有重名)
Scanner sc = new Scanner(System.in);
System.out.println("请输入待删除学生学号:");
String sid = sc.nextLine();
//遍历删除
//因为索引不可能等于-1,不可以等0
int index = -1;
for (int i = 0; i < array.size(); i++) {
Student s = array.get(i);
if (s.getSid().equals(sid)) {
//把被删除的索引记录下来
index = i;
// array.remove(i);
break;
}
}
if (index == -1) {
System.out.println("该学生信息不存在,请重新输入!!!");
} else {
array.remove(index);
System.out.println("成功删除!");
}
}

//修改信息
public static void updateStudent(ArrayList<Student> array) {
//键盘录入要修改的学生信息
Scanner sc = new Scanner(System.in);
System.out.println("请输入待修改学生的学号:");
String sid = sc.nextLine();

int index = -1;
//遍历集合修改学生信息
for (int i = 0; i < array.size(); i++) {
//得到的就是每一个学生对象
Student student = array.get(i);
if (student.getSid().equals(sid)) {
//根据索引把新的学生对象传过去
index = i;
// array.set(i, s);
break;
}
}
if (index == -1) {
System.out.println("修改失败,未找到所需要修该的学生信息!!!");
} else {

//键盘录入要修改的学生新信息
System.out.println("请输入学生新名字");
String name = sc.nextLine();

System.out.println("请输入学生新年龄");
String age = sc.nextLine();

System.out.println("请输入学生新地址");
String address = sc.nextLine();

//创建学生对象
Student s = new Student();
s.setSid(sid);
s.setName(name);
s.setAddress(address);
s.setAge(age);

//根据索引,把新的学生对象传过去
array.set(index, s);
System.out.println("修改成功!");
}
}

}

package com.daxing;

//学生类
public class Student {
//给出4个成员变量
private String name;
private String age;
private String sid;
private String address;

//无参构造,(Alt+Fn+Ins)
public Student() {
}

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

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getAge() {
return age;
}

public void setAge(String age) {
this.age = age;
}

public String getSid() {
return sid;
}

public void setSid(String sid) {
this.sid = sid;
}

public String getAddress() {
return address;
}

public void setAddress(String address) {
this.address = address;
}
}

输出:


====欢迎来到学生管理系统====
1 添加学生
2 删除学生
3 修改学生
4 查看所有学生
5 退出
输入你的选择
请选择:
1
添加学生
请输入学生学号:
17
请输入学生姓名:
dax
请输入学生年纪:
12
请输入学生居住地:
西京
添加成功!
====欢迎来到学生管理系统====
1 添加学生
2 删除学生
3 修改学生
4 查看所有学生
5 退出
输入你的选择
请选择:
1
添加学生
请输入学生学号:
13
请输入学生姓名:
付东
请输入学生年纪:
23
请输入学生居住地:
南宁
添加成功!
====欢迎来到学生管理系统====
1 添加学生
2 删除学生
3 修改学生
4 查看所有学生
5 退出
输入你的选择
请选择:
1
添加学生
请输入学生学号:
12
请输入学生姓名:
喜东东
请输入学生年纪:
4
请输入学生居住地:
长春
添加成功!
====欢迎来到学生管理系统====
1 添加学生
2 删除学生
3 修改学生
4 查看所有学生
5 退出
输入你的选择
请选择:
4
查看所有学生
学号 姓名 年纪 居住地
17 dax 12岁 西京
13 付东 23岁 南宁
12 喜东东 4岁 长春
====欢迎来到学生管理系统====
1 添加学生
2 删除学生
3 修改学生
4 查看所有学生
5 退出
输入你的选择
请选择:
5
退出系统,谢谢使用!

Process finished with exit code 0

posted @ 2021-11-14 19:23  小风扇呜呜呜  阅读(75)  评论(0)    收藏  举报