//一个简单学生类
public class Student {
private String name;
private String idstudent;
private String sex;
private String age;
private String course;
private float scour;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getIdstudent() {
return idstudent;
}
public void setIdstudent(String idstudent) {
this.idstudent = idstudent;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getCourse() {
return course;
}
public void setCourse(String course) {
this.course = course;
}
public float getScour() {
return scour;
}
public void setScour(float scour) {
this.scour = scour;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", idstudent='" + idstudent + '\'' +
", sex='" + sex + '\'' +
", age=" + age +
", course='" + course + '\'' +
", scour=" + scour +
'}';
}
}
//主函数
import javax.swing.plaf.ListUI;
import java.util.ArrayList;
import java.util.Scanner;
public class ArrayList01 {
/**
* 简单学生管理系统案例
* 案例需求
* 针对目前我们的所学内容,完成一个综合案例:学生管理系统!该系统主要功能如下:
* 添加学生:通过键盘录入学生信息,添加到集合中
* 删除学生:通过键盘录入要删除学生的学号,将该学生对象从集合中删除
* 修改学生:通过键盘录入要修改学生的学号,将该学生对象其他信息进行修改
* 查看学生:将集合中的学生对象信息进行展示
* 退出系统:结束程序
*/
/**
* 实现步骤
* 1. 定义学生类,包含以下成员变量
* private String sid // 学生id
* private String name // 学生姓名
* private String age // 学生年龄
* private String address // 学生所在地
* 2. 学生管理系统主界面的搭建步骤
* 2.1 用输出语句完成主界面的编写 2.2 用Scanner实现键盘输入 2.3 用switch语句完成选择的功能 2.4 用
* 循环完成功能结束后再次回到主界面
* 3. 学生管理系统的添加学生功能实现步骤
* 3.1 定义一个方法,接收ArrayList集合 3.2 方法内完成添加学生的功能 ①键盘录入学生信息 ②根据录
* 入的信息创建学生对象 ③将学生对象添加到集合中 ④提示添加成功信息 3.3 在添加学生的选项里调用
* 添加学生的方法
* 4. 学生管理系统的查看学生功能实现步骤
* 4.1 定义一个方法,接收ArrayList集合 4.2 方法内遍历集合,将学生信息进行输出 4.3 在查看所有学生选
* 项里调用查看学生方法
* 5. 学生管理系统的删除学生功能实现步骤
* 5.1 定义一个方法,接收ArrayList集合 5.2 方法中接收要删除学生的学号 5.3 遍历集合,获取每个学生对
* 象 5.4 使用学生对象的学号和录入的要删除的学号进行比较,如果相同,则将当前学生对象从集合中删除
* 5.5 在删除学生选项里调用删除学生的方法
* 6. 学生管理系统的修改学生功能实现步骤
* //创建学生对象,把键盘录入的数据赋值给学生对象的成员变量
* Student s = new Student();
* s.setName(name);
* s.setAge(age);
* //往集合中添加学生对象
* array.add(s);
* }
* }
* 6.1 定义一个方法,接收ArrayList集合 6.2 方法中接收要修改学生的学号 6.3 通过键盘录入学生对象所需
* 的信息,并创建对象 6.4 遍历集合,获取每一个学生对象。并和录入的修改学生学号进行比较.如果相
* 同,则使用新学生对象替换当前学生对象 6.5 在修改学生选项里调用修改学生的方法
* 7. 退出系统
* 使用System.exit(0);退出JVM
*/
public static void main(String[] args) {
ArrayList<Student> arrayList = new ArrayList<Student>();
while (true) {
System.out.println("--------欢迎来到学生管理系统平台----------");
System.out.println("----1.查询功能------2.添加功能-----------");
System.out.println("----3.删除功能------4.修改功能-----------");
System.out.println("--------------5.退出-------------------");
//创建集合对象,保存学生数据信息
Student student = new Student();
Scanner scanner = new Scanner(System.in);
System.out.println("请输入序号实现功能:");
int number = scanner.nextInt();
switch (number) {
case 1:
inquiry(arrayList);
break;
case 2:
add(arrayList);
break;
case 3:
delete(arrayList);
break;
case 4:
update(arrayList);
break;
case 5:
System.exit(0);
break;
default:
System.out.println("输入数据错误!");
}
}
}
private static void inquiry(ArrayList<Student> arrayList) {
if (arrayList.size()==0){
System.out.println("此系统中再无存储信息!");
return ;
}
System.out.println("学生信息:\t姓名\t\t学号\t\t性别\t\t 年龄\t\t课程\t\t成绩");
for (int i = 0; i < arrayList.size() ; i++) {
Student student=arrayList.get(i);
System.out.println("\t\t\t"+student.getName()+"\t\t"+student.getIdstudent()+"" +
"\t"+student.getSex()+"\t\t"+student.getAge()+"\t\t"+student.getCourse()+"\t\t"+student.getScour());
}
}
private static void add(ArrayList<Student> arrayList) {
Scanner scanner = new Scanner(System.in);
Student student = new Student();
System.out.println("请输入学生姓名:");
String name = scanner.nextLine();
student.setName(name);
String idstudent;
while (true) {
System.out.println("请输入学生学号:");
idstudent =scanner.nextLine();
boolean flag = isUsed(arrayList, idstudent);
if (flag) {
System.out.println("你输入的学号已经被占用,请重新输入");
} else {
break;
}
}
student.setIdstudent(idstudent);
System.out.println("请输入学生性别:");
String sex = scanner.nextLine();
student.setSex(sex);
System.out.println("请输入学生年龄:");
String age = scanner.nextLine();
student.setAge(age);
System.out.println("请输入学生课程:");
String course = scanner.nextLine();
student.setCourse(course);
System.out.println("请输入学生分数:");
float scour=scanner.nextFloat();
student.setScour(scour);
//将学生对象添加到集合中
arrayList.add(student);
System.out.println("学生信息添加成功!");
}
//判断学号再添加的时候,是否已经存储的学号相同。
public static boolean isUsed(ArrayList<Student> arrayList,String sid){
boolean flag=false;
for (int i = 0; i < arrayList.size(); i++) {
Student student=arrayList.get(i);
if(student.getIdstudent().equals(sid)) {
flag = true;
break;
}
}
return flag;
}
private static void delete(ArrayList<Student> arrayList) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你想删除的学生id编号:");
String id=scanner.nextLine();
int index=-1;
for (int i = 0; i < arrayList.size(); i++) {
Student student=arrayList.get(i);
if (student.getIdstudent().equals(id)){
index=i;
break;
}
}
if (index==-1){
System.out.println("输入学生编号不存在,请从新输入!");
}else {
arrayList.remove(index);
System.out.println("删除成功!");
}
}
private static void update(ArrayList<Student> arrayList) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入想修改学生的学号:");
String idstudent=scanner.nextLine();
System.out.println("请输入学生姓名:");
String name = scanner.nextLine();
System.out.println("请输入学生性别:");
String sex = scanner.nextLine();
System.out.println("请输入学生年龄:");
String age = scanner.nextLine();
System.out.println("请输入学生课程:");
String course = scanner.nextLine();
System.out.println("请输入学生分数:");
float scour=scanner.nextFloat();
Student student =new Student();
student.setName(name);
student.setIdstudent(idstudent);
student.setSex(sex);
student.setAge(age);
student.setCourse(course);
student.setScour(scour);
for (int i = 0; i < arrayList.size(); i++) {
Student student1=arrayList.get(i);
if (student1.getIdstudent().equals(idstudent)){
arrayList.set(i,student);
}
}
System.out.println("修改成功!");
}
}