Java有关问题的解决接口类

•1用ArrayList类创建一个集合对象list1;
•2.从键盘上输入学生的姓名和年龄,然后创建学生类对象,把对
象存入集合对象list1;用循环实现(while)
•3.当输入的学生年龄大于30岁时,停止输入,且该学生的信息不
再存入集合中。
•4.遍历集合list1,输出学生对象的信息。
•5.删除学生名字长度大于3的学生对象
•6.遍历集合list1,输出学生对象的信息。

这个不难的,


package test;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.stream.Collectors;

public class Test4 {
    private List<Student> list = new ArrayList<>();

    public void input() {
        Scanner scanner = new Scanner(System.in);
        String name = "";
        int age = 0;
        while (true) {
            System.out.println("请输入姓名:");
            name = scanner.next();
            System.out.println("请输入年龄:");
            age = scanner.nextInt();
            if (age > 30) {
                break;
            } else {
                Student student = new Student();
                student.setName(name);
                student.setAge(age);
                list.add(student);
            }
        }
        System.out.println("输入完毕,信息如下:");
        list.forEach(System.out::println);
        scanner.close();
    }

    public void filter() {
        // 删除名字长度大于3的,也就是保留名字小于等于三的
        List<Student> list = this.list.stream().filter(e -> e.getName().length() <= 3).collect(Collectors.toList());
        System.out.println("删除名字长度大于3的信息后:");
        list.forEach(System.out::println);
    }

    public static void main(String[] args) {
        Test4 t = new Test4();
        t.input();
        t.filter();
    }

    public class Student {
        private String name;
        private int 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;
        }

        @Override
        public String toString() {
            return "姓名:" + name + "\t年龄:" + age;
        }
    }
}