文章目录
前言
今天再次复习了一下列表的知识,作为javaSE高级部分的开端,特此记录:
Student类 代码如下:
package com.zwl.进阶.day18;
/**
* @author Weilei Zhang
* @create 2021-03-08 22:02
*/
public class Student {
private String name;
private int age;
private String sex;
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
", sex='" + sex + '\'' +
'}';
}
public Student(String name, String sex , int age){
this.name = name;
this.sex = sex;
this.age = age;
}
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;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
主代码:
package com.zwl.进阶.day18;
import java.nio.file.attribute.AclEntryFlag;
import java.util.ArrayList;
import java.util.Scanner;
/**
* @author Weilei Zhang
* 集合读取学生类对象信息
* @create 2021-03-08 22:01
*/
public class Demo05 {
static boolean flag = true;
public static void main(String[] args) {
ArrayList<Student> list = new ArrayList<>();
while(flag){
select(welcome() , list);
}
}
public static int welcome(){
System.out.println("****************************");
System.out.println("欢迎使用学生信息管理系统:");
System.out.println("1 - 浏览学生信息");
System.out.println("2 - 添加学生信息");
System.out.println("3 - 删除学生信息");
System.out.println("4 - 修改学生信息");
System.out.println("5 - 退出系统");
Scanner s = new Scanner(System.in);
int a = s.nextInt();
while(a < 1 || a > 5){
a = s.nextInt();
}
return a;
}
public static void select(int a , ArrayList<Student> list){
switch(a){
case 1:
showStudentList(list);
break;
case 2:
addStudent(list);
break;
case 3:
delateStudent(list);
break;
case 4:
updateStudent(list);
break;
case 5:
System.out.println("欢迎下次使用...");
flag = false;
return;
default:
System.out.println("请重新输入...");
break;
}
}
private static void updateStudent(ArrayList<Student> list) {
System.out.println("请输入要修改的学生姓名:");
Scanner s = new Scanner(System.in);
String name = s.next();
for(int i = 0 ; i < list.size() ; i++){
if(list.get(i).getName().equals(name)){
System.out.println("请输入要新的信息(性别 , 年龄)");
String sex = s.next();
int age = s.nextInt();
list.set(i , new Student(name , sex , age));
}
}
}
private static void delateStudent(ArrayList<Student> list) {
System.out.println("请输入要删除的学生的姓名:");
Scanner s = new Scanner(System.in);
String name = s.next();
for(int i = 0 ; i < list.size() ; i++){
if(list.get(i).getName().equals(name)){
list.remove(i);
}
}
System.out.println("删除成功...");
}
private static void addStudent(ArrayList<Student> list) {
System.out.println("请输入添加的学生个数:");
Scanner s = new Scanner(System.in);
int n = s.nextInt();
for(int i = 0 ; i < n ; i++ ){
System.out.printf("请输入第%d位学生信息(姓名 , 性别 , 年龄)\n" , i + 1);
String name = s.next();
String sex = s.next();
int age = s.nextInt();
list.add(new Student(name , sex , age));
}
}
public static void showStudentList(ArrayList<Student> list) {
System.out.printf("%-10s%-8s%-5s\n" , "姓名" , "性别" , "年龄");
for(Student s : list){
System.out.printf("|%-10s|%-8s|%-5d\n" , s.getName() , s.getSex() , s.getAge());
}
}
}