ArratList集合案例:元素搜索

ArratList集合案例:元素搜索

package com.wsl.api.arraylist;

import java.util.ArrayList;
import java.util.Scanner;

/*
     后台程序需要存储如图学生信息并展示,然后要提供 按照学号搜索学生信息的功能
 */
public class StudentSystem {
    public static void main(String[] args) {
        //1.创建一个学生类
        //2.创建一个学生类型的ArrayList集合
        ArrayList<Student> stuSystem= new ArrayList<>();
        //3.创建四个学生对象 封装好数据存入集合中
        stuSystem.add(new Student(20180302,"叶孤城",23,"护理一班"));
        stuSystem.add(new Student(20180303,"东方不败",23,"推拿二班"));
        stuSystem.add(new Student(20180304,"西门吹雪",26,"中药学四班"));
        stuSystem.add(new Student(20180305,"梅超风",26,"神经科二班"));
        //4.展示学生信息(遍历集合)
        System.out.println("学号\t\t\t姓名\t\t年龄\t\t班级");
        for (int i = 0; i < stuSystem.size(); i++) {
            System.out.println(stuSystem.get(i).getId()+"\t"+stuSystem.get(i).getName()
            +"\t"+stuSystem.get(i).getAge()+"\t\t"+stuSystem.get(i).getClassroom());
        }
        //5.定义一个可以按照学号找到对应对象的方法

        //6.使用 所写的方法找到想要的对象 并遍历它的信息
        while (true) {
            Student s = toStudentById(stuSystem);
            if(s == null){
                System.out.println("对不起,您输入的学号不存在 ");
            }else{
                System.out.println("您查询的学生信息如下");
                System.out.println("学号\t\t\t姓名\t\t年龄\t\t班级");
                System.out.println(s.getId()+"\t"+s.getName() +"\t"+s.getAge()+"\t\t"+s.getClassroom());
            }
        }
    }

    /**
     * 根据学生的学号查询学生对象并返回
     * @param stuSystem  存储全部学生对象的集合
     * @return  学生对象 | null
     */
    //定义一个可以按照学号找到对应对象的方法
    public static Student toStudentById(ArrayList<Student> stuSystem){
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入您要查找的学号");
        int id = scanner.nextInt();
        for (int i = 0; i < stuSystem.size(); i++) {
            if(stuSystem.get(i).getId() == id){
                //则这个学生对象就是我们要找的  返回它
                return stuSystem.get(i);
            }
        }
        //查无此人
        return null;
    }
}

第九天 加油
坚持最难!1

posted @ 2022-06-03 13:37  划水安逸  阅读(54)  评论(0)    收藏  举报