一、先定义一个Student类
//定义一个学生类型的类
public class Student {
private String id;
private String name;
private String address;
private int age;
public Student() {
}
public Student(String id,String name,String address,int age)
{
this.id=id;
this.name=name;
this.address=address;
this.age=age;
}
//后续可能用到的函数。可以alt+insert自动生成,也可以通过alt+shift+s间接生成。
public String getAddress() {
return address;
}
public void setAddress(String address) {
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;
}
}
二、设置管理系统界面。
import java.util.Scanner;
import java.util.ArrayList;
public class student_manager {
public static void main(String[] args) {
ArrayList<Student> array = new ArrayList<Student>();
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);
String line = sc.nextLine();
switch (line) {
case "1":
// System.out.println("1.添加学生");
addStudent(array);
break;
case "2":
// System.out.println("2.删除学生");
DeleteStudent(array);
break;
case "3":
// System.out.println("3.修改学生");
ChangeStudent(array);
break;
case "4":
// System.out.println("4.查看所有学生");
LookforallStudent(array);
break;
case "5":
System.out.println("谢谢使用");
return;
}
}
}
// 添加
public static void addStudent(ArrayList<Student> array) {
Student s = new Student();
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("请输入学生学号:");
String s1 = sc.nextLine();
if (solverepeat(array, s1)) {
System.out.println("学号已经存在,请重新输入:");
} else {
s.setId(s1);
break;
}
}
System.out.println("请输入学生姓名:");
String s2 = sc.nextLine();
s.setName(s2);
System.out.println("请输入学生居住地:");
String s3 = sc.nextLine();
s.setAddress(s3);
System.out.println("请输入学生年龄:");
int w = sc.nextInt();
s.setAge(w);
array.add(s);// 加入元素
System.out.println("添加学生成功");
return;
}
// 删除
public static void DeleteStudent(ArrayList<Student> array) {
System.out.println("请输入要删除的学生学号:");
while (true) {
Scanner sc = new Scanner(System.in);
String de = sc.nextLine();
if (solveno(array, de)) {
System.out.println("要删除的学生不存在,请重新输入:");
} else {
for (int i = 0; i < array.size(); i++) {
Student s = array.get(i);
if (s.getId().equals(de))
array.remove(i);
break;
}
System.out.println("删除成功!");
break;
}
}
return;
}
// 修改
public static void ChangeStudent(ArrayList<Student> array) {
Student s = new Student();
Scanner sc = new Scanner(System.in);
System.out.println("请输入要修改的学生学号:");
while (true) {
String id = sc.nextLine();
if (solveno(array, id)) {
System.out.println("该学生不存在,请重新输入:");
} else {
s.setId(id);
System.out.println("请输入要修改的学生姓名:");
String name = sc.nextLine();
s.setName(name);
System.out.println("请输入要修改的学生居住地:");
String address = sc.nextLine();
s.setAddress(address);
System.out.println("请输入要修改的学生年龄:");
int age = sc.nextInt();
s.setAge(age);
for (int i = 0; i < array.size(); i++) {
Student ss = array.get(i);
if (ss.getId().equals(id)) {
array.set(i, s);
break;
}
}
System.out.println("修改成功!");
break;
}
}
return;
}
// 查看
public static void LookforallStudent(ArrayList<Student> array) {
if (array.size() == 0) {
System.out.println("还未输入学生,扣1输入学生");
return;
}
System.out.println("学号\t\t姓名\t居住地\t年龄");
for (int i = 0; i < array.size(); i++) {
Student s = array.get(i);
System.out.println(s.getId() + "\t\t" + s.getName() + "\t" + s.getAddress() + "\t" + s.getAge());
}
return;
}
// 解决学号不存在或者学号重复问题。在前面的添加删除修改中均会用到,属于是一个小优化。
public static boolean solveno(ArrayList<Student> array, String id) {
int i = 0;
for (i = 0; i < array.size(); i++) {
Student s = array.get(i);
if (s.getId().equals(id)) {
break;
}
}
if (i == array.size())
return true;
return false;
}
public static boolean solverepeat(ArrayList<Student> array, Stringid) {
int i = 0;
for (i = 0; i < array.size(); i++) {
Student s = array.get(i);
if (s.getId().equals(id)) {
break;
}
}
if (i < array.size())
return true;
return false;
}
}