建一个学生类,在类外实现从键盘输入学生数据,并用ArrayList存放,之后查询学生数据
package com.demo.day0730;
public class Student {
private Integer id;
private String name;
private Integer age;
private String gender;
public Student() {
}
public Student(Integer id, String name, Integer age, String gender) {
this.id = id;
this.name = name;
this.age = age;
this.gender = gender;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
@Override
public String toString() {
return "Student{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
", gender='" + gender + '\'' +
'}';
}
}
package com.demo.day0730;
import org.junit.Test;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Demo {
@Test
public void test44() {
Scanner scanner = new Scanner(System.in);
List<Student> list = new ArrayList<>();
while (true) { // for (;;) {}
System.out.println("请输入id:");
int id = scanner.nextInt();
System.out.println("请输入名字: ");
String name = scanner.next();
System.out.println("请输入年龄:");
int age = scanner.nextInt();
System.out.println("请输入性别:");
String gender = scanner.next();
Student student = new Student(id, name, age, gender);
list.add(student);
System.out.println("您是否要继续输入:0退出,其他键继续");
int quit = scanner.nextInt();
if (quit == 0) {
break;
}
}
for (Student student : list) {
System.out.println(student);
}
while (true) {
System.out.println("输入1、按照学生id搜索");
System.out.println("输入2、按照学生name搜索");
System.out.println("输入3、按照学生age搜索");
System.out.println("输入4、按照学生gender搜索");
System.out.println("输入0、退出搜索");
int type = scanner.nextInt();
if (type == 0) {
System.out.println("退出程序");
break;
}
// 找到了没有,false,因为还没有开始找所以没有找到
boolean isSearchFound = false;
switch (type) {
case 1:
System.out.println("请输入要搜索的id:");
int id = scanner.nextInt();
for (Student student : list) {
if (id == student.getId()) {
System.out.println(student);
isSearchFound = true;
}
}
/*if (!isSearchFound) {
System.out.println("没有该信息的学生");
}*/
if (isSearchFound == false) {
System.out.println("没有该信息的学生");
}
break;
case 2:
System.out.println("请输入要搜索的name:");
String name = scanner.next();
for (Student student : list) {
if (name.equals(student.getName())) {
System.out.println(student);
isSearchFound = true;
}
}
if (isSearchFound == false) {
System.out.println("没有该信息的学生");
}
break;
case 3:
System.out.println("请输入要搜索的age:");
String age = scanner.next();
for (Student student : list) {
if (age.equals(student.getAge())) {
System.out.println(student);
isSearchFound = true;
}
}
if (isSearchFound == false) {
System.out.println("没有该信息的学生");
}
break;
case 4:
System.out.println("请输入要搜索的gender:");
String gender = scanner.next();
for (Student student : list) {
if (gender.equals(student.getGender())) {
System.out.println(student);
isSearchFound = true;
}
}
if (isSearchFound == false) {
System.out.println("没有该信息的学生");
}
break;
}
}
// 搜索要求:以根据学生name搜索为例,如果找到了符合这个名字的学生,就打印该学生所有信息
// 如果没有找到这个name的学生,输出“没有该信息的学生”
System.out.println("-------------------");
}
}