案例:学生管理系统
package com.zl.MyArrayListDemo;
import java.util.ArrayList;
import java.util.Scanner;
public class ArrayListDemo {
public static void main(String[] args) {
ArrayList<Student> students = new ArrayList<>();
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.print("请选择您想要的操作:");
Scanner scanner = new Scanner(System.in);
String xuhao = scanner.nextLine();
switch (xuhao) {
case "1":
showStudents(students);
break;
case "2":
addStudent(students);
break;
case "3":
setStudent(students);
break;
case "4":
removeStudent(students);
break;
case "5":
default:
System.out.println("感谢您的使用,请下次再来");
System.exit(0);
}
}
}
private static void setStudent(ArrayList<Student> students) {
while (true) {
System.out.print("请输入所修改的学生学号:");
boolean x = false;
Scanner scanner = new Scanner(System.in);
String id = scanner.nextLine();
int i;
for (i = 0; i < students.size(); i++) {
if (students.get(i).getId().equals(id)) {
x = true;
}
}
if (x) {
System.out.print("请输入新学号:");
students.get(i - 1).setId(scanner.nextLine());
System.out.print("请输入新姓名:");
students.get(i - 1).setName(scanner.nextLine());
System.out.print("请输入新年龄:");
students.get(i - 1).setAge(scanner.nextLine());
System.out.print("请输入新地址:");
students.get(i - 1).setBirthplace(scanner.nextLine());
System.out.println("修改完毕");
break;
} else {
System.out.println("查无此人,请重新输入");
}
}
}
private static void addStudent(ArrayList<Student> students) {
while (true) {
System.out.print("请输入学生学号:");
Scanner scanner = new Scanner(System.in);
String id = scanner.nextLine();
boolean x =false;
Student student = new Student();
for (int i = 0; i < students.size(); i++) {
Student s = students.get(i);
if (s.getId().equals(id)) {
x = true;
break;
}
}
if (x) {
System.out.println("您输入的学号被占用,请您重新输入");
}else {
student.setId(id);
System.out.print("请输入学生姓名:");
String name = scanner.nextLine();
student.setName(name);
System.out.print("请输入学生年龄:");
String age = scanner.nextLine();
student.setAge(age);
System.out.print("请输入学生出生地址:");
String birthplace = scanner.nextLine();
student.setBirthplace(birthplace);
students.add(student);
System.out.println("添加完毕");
break;
}
}
}
private static void showStudents(ArrayList<Student> students) {
if ( students.size() == 0){
System.out.println("目前还没有学生信息,请您重新选择操作");
}
for (int i = 0; i <students.size() ; i++) {
System.out.println(students.get(i));
}
}
private static void removeStudent(ArrayList<Student> students){
while (true) {
System.out.print("请输入所删除的学生的学号:");
boolean y = false;
Scanner scanner = new Scanner(System.in);
String id = scanner.nextLine();
int i;
for ( i = 0; i < students.size(); i++) {
if (students.get(i).getId().equals(id)) {
y = true;
}
}
if (y){
students.remove((i-1));
break;
}else {
System.out.println("查无此学生,请重新输入");
}
}
}
}