学生管理系统(ArrayList)
通过实现Collection接口的ArrayList类,来实现学生管理系统,实现简单的增删改查 。
public class CollectionTest {
//声明学生类集合
private ArrayList<Student> list;
private Scanner sc=new Scanner(System.in);
//通过无参构造器初始化集合,并添加元素。
public CollectionTest() {
list = new ArrayList<>();
list.add(new Student(1,"小明",18,500));
}
public static void main(String[] args) {
new CollectionTest().menu();
}
//功能主面板
public void showMenu(){
System.out.println("****************学生管理系统********************");
System.out.println("\t\t\t\t1.添加学生");
System.out.println("\t\t\t\t2.删除学生");
System.out.println("\t\t\t\t3.修改学生");
System.out.println("\t\t\t\t4.查看所有");
System.out.println("\t\t\t\t5.查询学生");
System.out.println("\t\t\t\t6.退 出");
}
public void menu(){
while (true){
showMenu();
//输入操作指令以便实现功能
System.out.println("请输入操作指令");
String choose = sc.next();
switch (choose){
//添加学生
case "1": add();
break;
//输入学号删除学生
case "2":
System.out.println("请输入要删除的学生学号");
int id = sc.nextInt();
delete(id);
break;
//输入学号修改学生
case "3":
System.out.println("请输入要修改的学生学号");
int id1 = sc.nextInt();
update(id1);
break;
//查看所有学生信息
case "4": showAll();
break;
//根据id学生信息
case "5":
System.out.println("请输入要查询的学生学号");
int id2 = sc.nextInt();
showOne(id2);
break;
//退出
case "6":
System.out.println("已退出");
System.exit(0);
break;
default:
System.out.println("您的输入有误");
}
}
}
// add方法
public void add(){
System.out.println("请输入学生编号");
int id = sc.nextInt();
System.out.println("请输入学生姓名");
String name = sc.next();
System.out.println("请输入学生年龄");
int age = sc.nextInt();
System.out.println("请输入学生成绩");
int score = sc.nextInt();
list.add(new Student(id,name,age,score));
System.out.println("添加成功");
}
// 通过ArrayList自带的get方法方便查询。
//删除方法
public void delete (int id) {
for (int i = 0; i < list.size(); i++) {
if (id == list.get(i).getId()) {
list.remove(list.get(i));
System.out.println("删除成功");
}
}
}
//修改方法
public void update(int id1){
for (int i = 0; i < list.size(); i++) {
if (id1==list.get(i).getId()){
//输入要修改学生的信息
System.out.println("请输入学生编号");
int id = sc.nextInt();
System.out.println("请输入学生姓名");
String name = sc.next();
System.out.println("请输入学生年龄");
int age = sc.nextInt();
System.out.println("请输入学生成绩");
int score = sc.nextInt();
//根据arrayList类的set()方法修改数据
list.set(i,new Student(id,name,age,score));
System.out.println("修改成功");
}
}
}
//查询所有的方法
public void showAll(){
for (int i = 0; i < list.size(); i++) {
if (list.get(i)!=null){
System.out.println(list.get(i));
}
}
}
//查询某个学生
public void showOne (int id){
for (int i = 0; i < list.size(); i++) {
if (id == list.get(i).getId()) {
if (list.get(i)!=null){
System.out.println(list.get(i));
}
}
}
}
}