第一类:测试类
import java.util.Scanner;
import java.util.ArrayList;
public class StudentText {
public static void main(String[] args) {
ArrayList<Student> array=new ArrayList<Student>();
//主页面
while(true) {
System.out.println("Welcome to menu");
System.out.println("1.添加学生");
System.out.println("2.删除学生");
System.out.println("3.修改学生");
System.out.println("4.查看所有学生");
System.out.println("5.退出");
System.out.println("Please choice which function you want");
Scanner input=new Scanner(System.in);
int choice=input.nextInt();
switch(choice) {
case 1:
System.out.println("1.添加学生");
addStudent(array);
break;
case 2:
System.out.println("2.删除学生");
deleteStudent(array);
break;
case 3:
System.out.println("3.修改学生");
fixStudent(array);
break;
case 4:
System.out.println("4.查看所有学生");
findStudent(array);
break;
case 5:
System.out.println("thank you for using");
System.exit(0);//结束标志
}
}
}
//创建方法,录入数据
public static void addStudent(ArrayList<Student> array) {
//录入学生数据
Scanner sc=new Scanner(System.in);
System.out.println("Please enter name:");
String name=sc.next();
System.out.println("Please enter age:");
int age=sc.nextInt();
System.out.println("Please enter ID:");
String ID=sc.next();
Student s=new Student();
s.setAge(age);
s.setName(name);
s.setID(ID);
//向集合中添加数据
array.add(s);
System.out.println("添加成功");
}
public static void findStudent(ArrayList<Student> array) {
for(int i=0;i<array.size();i++) {
Student s=array.get(i);//返回索引处的元素(第i个成员)
System.out.println("姓名"+s.getName()+","+s.getAge()+"岁,学号"+s.getID());
}
}
public static void deleteStudent(ArrayList<Student> array) {
//通过遍历集合,比较学号是否相等,从而删除元素
System.out.println("输入删除学生的学号");
Scanner sc=new Scanner(System.in);
String sid=sc.next();
for(int i=0;i<array.size();i++) {
Student s=array.get(i);//集合中的元素需要一个类去接收
if(s.getID().equals(sid)) {
array.remove(i);
}
}
}
public static void fixStudent(ArrayList<Student> array) {
System.out.println("请输入要修改的学生学号");
Scanner sc=new Scanner(System.in);
String sid=sc.next();
System.out.println("Please enter name:");
String name=sc.next();
System.out.println("Please enter age:");
int age=sc.nextInt();
System.out.println("Please enter ID:");
String ID=sc.next();
Student s=new Student();
s.setAge(age);
s.setName(name);
s.setID(ID);
for(int i=0;i<array.size();i++) {
Student student=array.get(i);//集合中的元素需要一个类去接收
if(student.getID().equals(sid)) {
array.set(i,s);
break;
}
}
}
}
第二类:学生类
public class Student {
//private 关键字使定义的类型只能在内部进行访问,而外部无法访问
//针对该关键字,提供了get/set 方法,进行数据的输出和输入
private int age;
private String name;
private String ID;
public Student() {}//无参构造
public Student(int age,String name) {
this.age=age;
this.name=name;
}//含参构造
public void setAge(int age) {
this.age=age;
}
public int getAge() {
return age;
}
public void setName(String name) {
this.name=name;
}
public String getName() {
return name;
}
public void setID(String ID) {
this.ID=ID;
}
public String getID() {
return ID;
}
}