Java day_07 static、ArrayList、集合框架

Student类

package day_07.ArrayList;

public class Student {
    int id;
    String name;
    int age;
    String className;

    //    构造函数
    public Student() {
    }

    public Student(int id, String name, int age, String className) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.className = className;
    }

    //    Setter
    public void setId(int id) {
        this.id = id;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setAge(int age) {
        if (age >0&&age<120){
            this.age = age;
        }
    }

    public void setClassName(String className) {
        this.className = className;
    }

    //    Getter
    public int getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

    public String getClassName() {
        return className;
    }

    public void study(){

        System.out.println(className+"班的"+name+"正在学习!");
    }

    public String toStirng(){
        return "Student [id="+id+",name="+name+",age="+age+",className="+className+"]";
    }
}

StudArrayList类

package day_07.ArrayList;

import java.util.ArrayList;

public class StuArrayList {
    public static void main(String[] args) {
        Student[] students=new Student[3];
        Student student1=new Student(1,"zhang",20,"Java");
        Student student2=new Student(2,"li",20,"Java");
        Student student3=new Student(3,"wang",20,"Java");
        students[0]=student1;
        students[1]=student2;
        students[2]=student3;
        for (int i = 0; i < students.length; i++) {
            System.out.println(students[i]);
        }
        ArrayList<Student> list=new ArrayList<>();
        list.add(student1);
        list.add(student2);
        list.add(student3);
        for (int i = 0; i < list.size(); i++) {
//            强制类型转换
            Student student=(Student) list.get(i);
            System.out.println(student);
        }
        System.out.println("=============================");
        for (Student student:list) {
            System.out.println(student);
        }
    }

}

StudentManagerMain

package day_07.ArrayList;

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

public class StudentManager {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        ArrayList<Student> list = new ArrayList<>();
        while (true) {
            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("请输入学生班级:");
            //The value of the local variable className is not used
            String className = scanner.next();

            Student student = new Student(id, name, age, className);
            list.add(student);

            System.out.println("是否继续输入?0退出");
            int result = scanner.nextInt();
            if (result == 0) {
                break;
            }
        }

        System.out.println("学生列表信息:");
        for (Student student : list) {
            System.out.println(student);
        }

        // for (;;) {}
        while (true) {
            System.out.println("--------------");
            System.out.println("根据id查找: 1");
            System.out.println("根据名字查找:   2");
            System.out.println("根据年龄查找:   3");
            System.out.println("根据班级查找:   4");
            System.out.println("推出程序:   0");
            System.out.println("--------------");

            int type = scanner.nextInt();
            if (type == 0) {
                System.out.println("退出程序");
                return;
            }

            switch (type) {
                case 1://根据id查找
                    System.out.println("id");
                    System.out.println("请输入要查找的id:");
                    // 遍历Student[],找到id相同的学生,就打印这个学生的信息。
                    // 如果遍历完所有学生都没有查找到,就打印“没有该学生信息”
                    int id = scanner.nextInt();
                    boolean isSearchByIdFind = false;//初始认为根据id查找没有找到
                    for (Student student : list) {
                        if (id == student.getId()) {
                            System.out.println(student);
                            isSearchByIdFind = true;
                        }
                    }
                    if (isSearchByIdFind == false) {
                        System.out.println("没有该学生信息");
                    }
                    break;
                case 2:
                    System.out.println("name");
                    System.out.println("请输入学生名字:");
                    String name = scanner.next();
                    boolean isSearchByNameFind = false;
                    for (Student student : list) {
                        if (name.equals(student.getName())) {
                            System.out.println(student);
                            isSearchByNameFind = true;
                        }
                    }
                    if (isSearchByNameFind == false) {
                        System.out.println("没有该学生信息");
                    }

                    break;
                case 3:
                    System.out.println("age");
                    System.out.println("请输入学生年龄:");
                    int age = scanner.nextInt();
                    boolean isSearchByAgeFind = false;
                    for (Student student : list) {
                        if (age == student.getAge()) {
                            System.out.println(student);
                            isSearchByAgeFind = true;
                        }
                    }
                    if (isSearchByAgeFind == false) {
                        System.out.println("没有该学生信息");
                    }
                    break;
                case 4:
                    System.out.println("className");
                    System.out.println("请输入学生班级:");
                    String className = scanner.next();
                    boolean isSearchByClassNameFind = false;
                    for (Student student : list) {
                        if (className.equals(student.getClassName())) {
                            System.out.println(student);
                            isSearchByClassNameFind = true;
                        }
                    }
                    if (isSearchByClassNameFind == false) {
                        System.out.println("没有该学生信息");
                    }
                    break;
                default:
                    break;
            }
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值