集合-(List)编程∶已知有Worker类,属性为姓名、年龄、工资,完成类的封装并提供无参数、有参数构造方法,完成以下要求︰

(List)编程∶已知有Worker类,属性为姓名、年龄、工资,完成类的封装并提供无参数、有参数构造方法,完成以下要求︰
(1)创建一个List,在List中增加三个工人,基本信息如下∶
(2)在li4之前插入一个工人,信息为∶姓名:zhao6,年龄∶24,工资3300
(3)删除wang5的信息
(4)利用下标遍历,打印输出所有工人信息
(5)利用forEach遍历,打印输出所有年龄大于20的工人信息
(6)对Worker类添加eqauls方法
(7)随机选择两个工人,判断这两个工人信息是否相同

public class Worker2 {
    private String name;
    private int age;
    private double salary;//工资

    public Worker2() {
    }

    public Worker2(String name, int age, double salary) {
        this.name = name;
        this.age = age;
        this.salary = salary;
    }

    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 double getSalary() {
        return salary;
    }

    public void setSalary(double salary) {
        this.salary = salary;
    }

    @Override
    public String toString() {
        return "姓名:'" + name + '\'' +
                ", 年龄:" + age +
                ", 工资:" + salary;
    }

    public void equals(Worker2 work1, Worker2 work2) {
        System.out.println(work1);
        System.out.println(work2);
        int age = work1.age;
        double salary = work1.salary;
        int age1 = work2.age;
        double salary1 = work2.salary;
        if (age == age1 && salary == salary1) {
            System.out.println("信息相同");
        } else {
            System.out.println("信息不同");
        }
    }
}

class TestWorker {
    public static void main(String[] args) {
        Worker2 worker1 = new Worker2("zhang3", 18, 3000);
        Worker2 worker2 = new Worker2("li4", 25, 3500);
        Worker2 worker3 = new Worker2("wang5", 22, 3200);
        List<Worker2> list = new ArrayList<>();
        list.add(worker1);
        list.add(worker2);
        list.add(worker3);
        //在li4之前插入一个工人
        System.out.println("添加li4信息:");
        Worker2 worker4 = new Worker2("zhao6", 24, 3300);
        int count = 0;
        for (Worker2 work : list) {
            String name = work.getName();
            if (name.equals("li4")) {
                break;
            }
            count++;
        }
        list.add(count, worker4);
        for (Worker2 work : list) {
            System.out.println(work);
        }
        //删除wang5的信息
        System.out.println("删除wang5的信息:");
        int index = -1;
        for (Worker2 work : list) {
            index++;
            String name = work.getName();
            if (name.equals("wang5")) {
                break;
            }
        }
        list.remove(index);
        for (Worker2 work : list) {
            System.out.println(work);
        }
        //输出所有工人信息
        System.out.println("所有人信息为:");
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
        //大于年龄大于20岁的人
        System.out.println("年龄大于20岁人的信息为:");
        for (Worker2 work : list) {
            int age = work.getAge();
            if (age >= 20) {
                System.out.println(work);
            }
        }
        //判断两个工人信息是否相同
        Worker2 worker5 = new Worker2("jak", 24, 3300);
        list.add(worker5);
        //系统随机选择两位工人判断信息是否相同
        System.out.println("--------------------");
        for (Worker2 work : list) {
            System.out.println(work);
        }
        int[] num = new int[2];
        for (int i = 0; i < 2; i++) {
            Random random = new Random();
            num[i] = random.nextInt(list.size());
        }
        System.out.println(Arrays.toString(num));
        Worker2 work = new Worker2();
        work.equals(list.get(num[0]), list.get(num[1]));


    }
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MaGgIeOo0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值