案例6-2学生管理系统
This commit is contained in:
parent
9e780a4f1b
commit
c2923336e6
171
src/chapter6/demo62/Manager.java
Normal file
171
src/chapter6/demo62/Manager.java
Normal file
@ -0,0 +1,171 @@
|
||||
package chapter6.demo62;
|
||||
|
||||
import java.util.LinkedList;
|
||||
import java.util.Scanner;
|
||||
|
||||
public class Manager {
|
||||
// 创建集合对象,用于存储学生数据
|
||||
static LinkedList<Student> array = new LinkedList<Student>();
|
||||
public static void main(String[] args) {
|
||||
|
||||
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);
|
||||
int choice = sc.nextInt();
|
||||
|
||||
switch (choice) {
|
||||
case 1:
|
||||
showAllStudents();
|
||||
break;
|
||||
case 2:
|
||||
addStudent();
|
||||
break;
|
||||
case 3:
|
||||
deleteStudent();
|
||||
break;
|
||||
case 4:
|
||||
updateStudent();
|
||||
break;
|
||||
default:
|
||||
System.out.println("谢谢你的使用");
|
||||
System.exit(0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 查看所有学生
|
||||
public static void showAllStudents() {
|
||||
// 首先来判断集合中是否有数据,如果没有数据,就给出提示,并让该方法不继续往下执行
|
||||
if (array.isEmpty()) {
|
||||
System.out.println("不好意思,目前没有学生信息可供查询,请回去重新选择你的操作");
|
||||
return;
|
||||
}
|
||||
|
||||
System.out.println("学号\t姓名\t年龄\t居住地");
|
||||
// 使用 foreach 循环遍历
|
||||
for (Student s : array) {
|
||||
System.out.println(s.getId() + "\t" + s.getName() + "\t" + s.getAge() + "\t" + s.getAddress());
|
||||
}
|
||||
}
|
||||
|
||||
// 添加学生
|
||||
public static void addStudent() {
|
||||
Scanner sc = new Scanner(System.in);
|
||||
|
||||
System.out.println("请输入学生学号:");
|
||||
String id = sc.nextLine();
|
||||
|
||||
// 判断学号有没有被人占用
|
||||
|
||||
// 定义标记
|
||||
boolean flag = false;
|
||||
// 遍历集合,得到每一个学生
|
||||
for (Student s : array) {
|
||||
if (s.getId().equals(id)) {
|
||||
flag = true; // 说明学号被占用了
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (flag) {
|
||||
System.out.println("你输入的学号已经被占用,请重新输入:");
|
||||
id = sc.nextLine();
|
||||
}
|
||||
|
||||
System.out.println("请输入学生姓名:");
|
||||
String name = sc.nextLine();
|
||||
System.out.println("请输入学生年龄:");
|
||||
int age = Integer.parseInt(sc.nextLine());
|
||||
System.out.println("请输入学生居住地:");
|
||||
String address = sc.nextLine();
|
||||
// 添加学生到Array
|
||||
array.add(new Student(id, name, age, address));
|
||||
// 给出提示
|
||||
System.out.println("添加学生成功");
|
||||
}
|
||||
|
||||
// 删除学生
|
||||
public static void deleteStudent() {
|
||||
// 删除学生的思路:键盘录入一个学号,到集合中去查找,看是否有学生使用的是该学号,如果有就删除该学生
|
||||
Scanner sc = new Scanner(System.in);
|
||||
System.out.println("请输入你要删除的学生的学号:");
|
||||
String id = sc.nextLine();
|
||||
|
||||
// 我们必须给出学号不存在的时候的提示
|
||||
// 定义一个索引
|
||||
int index = -1;
|
||||
// 遍历集合
|
||||
for (int x = 0; x < array.size(); x++) {
|
||||
// 获取到每一个学生对象
|
||||
Student s = array.get(x);
|
||||
// 拿这个学生对象的学号和键盘录入的学号进行比较
|
||||
if (s.getId().equals(id)) {
|
||||
index = x;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (index == -1) {
|
||||
System.out.println("不好意思,你要删除的学号对应的学生信息不存在,请回去重新你的选择");
|
||||
} else {
|
||||
array.remove(index);
|
||||
System.out.println("删除学生成功");
|
||||
}
|
||||
}
|
||||
|
||||
// 修改学生信息
|
||||
public static void updateStudent() {
|
||||
// 修改学生的思路:键盘录入一个学号,到集合中去查找,看是否有学生使用的是该学号,如果有就修改该学生
|
||||
// 创建键盘录入对象
|
||||
Scanner sc = new Scanner(System.in);
|
||||
System.out.println("请输入你要修改的学生的学号:");
|
||||
String id = sc.nextLine();
|
||||
// 定义一个索引
|
||||
Student student = null;
|
||||
// 遍历集合
|
||||
for (int x = 0; x < array.size(); x++) {
|
||||
// 获取每一个学生对象
|
||||
Student s = array.get(x);
|
||||
// 拿学生对象的学号和键盘录入的学号进行比较
|
||||
if (s.getId().equals(id)) {
|
||||
student = s;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (student == null) {
|
||||
System.out.println("不好意思,你要修改的学号对应的学生信息不存在,请回去重新你的选择");
|
||||
} else {
|
||||
System.out.println("1 姓名");
|
||||
System.out.println("2 年龄");
|
||||
System.out.println("3 居住地");
|
||||
int choice = sc.nextInt();
|
||||
switch (choice) {
|
||||
case 1:
|
||||
System.out.println("请输入学生新姓名:");
|
||||
String name = sc.nextLine();
|
||||
student.setName(name);
|
||||
break;
|
||||
case 2:
|
||||
System.out.println("请输入学生新年龄:");
|
||||
int age = sc.nextInt();
|
||||
student.setAge(age);
|
||||
break;
|
||||
case 3:
|
||||
System.out.println("请输入学生新居住地:");
|
||||
String address = sc.nextLine();
|
||||
student.setAddress(address);
|
||||
break;
|
||||
}
|
||||
System.out.println("修改学生成功");
|
||||
}
|
||||
}
|
||||
}
|
52
src/chapter6/demo62/Student.java
Normal file
52
src/chapter6/demo62/Student.java
Normal file
@ -0,0 +1,52 @@
|
||||
package chapter6.demo62;
|
||||
|
||||
public class Student {
|
||||
// 学号
|
||||
private String id;
|
||||
// 姓名
|
||||
private String name;
|
||||
// 年龄
|
||||
private int age;
|
||||
// 居住地
|
||||
private String address;
|
||||
|
||||
// 构造方法
|
||||
public Student(String id, String name, int age, String address) {
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
this.age = age;
|
||||
this.address = address;
|
||||
}
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(String id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
public String getAddress() {
|
||||
return address;
|
||||
}
|
||||
|
||||
public void setAddress(String address) {
|
||||
this.address = address;
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user