Problem E: List练习

发布于:2025-05-15 ⋅ 阅读:(11) ⋅ 点赞:(0)

1.题目描述

运用List完成下面的要求: 
1) 创建一个List,在List中增加三个工人,基本信息如下:
姓名 年龄 工资 
Tom 18 3000 
Peter 25 3500 
Mark 22 3200 
2) 插入一个工人,信息为:姓名:Robert,年龄:24,工资3300 
3) 删除姓名为"Mark"的工人 
4) 利用for 循环遍历,打印List中所有工人的信息 
5) 利用迭代遍历,对List中所有的工人调用work方法。 


完成下列代码:
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

class Worker{
        private int age;
        private String name;
        private double salary;
        public Worker(String name,int age,double salary)

// 你的代码嵌入这里


class Main{
  public static void main(String [] args){
            workerHelper wh = new workerHelper();
            List<Worker> ls = new ArrayList<>();
            wh.add(ls);
            wh.append(ls);
            wh.del(ls,"Mark");
            wh.print(ls);
            wh.callwork(ls);
        }
}
 

2.输出描述

Workers info:Tom 18 3000.0
Workers info:Peter 25 3500.0
Workers info:Robert 24 3300.0
Tom work
Peter work
Robert work

3.代码实现

1.提交代码

{
        this.name = name;
        this.age = age;
        this.salary = salary;
    }

    public void work() {
        System.out.println(this.name + " work");
    }

    // Getter 方法用于访问属性
    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

    public double getSalary() {
        return salary;
    }
}


class workerHelper {

    // 添加初始三个工人
    public void add(List<Worker> list) {
        list.add(new Worker("Tom", 18, 3000));
        list.add(new Worker("Peter", 25, 3500));
        list.add(new Worker("Mark", 22, 3200));
    }

    // 插入一个工人 Robert
    public void append(List<Worker> list) {
        list.add(new Worker("Robert", 24, 3300));
    }

    // 删除姓名为 mark 的工人
    public void del(List<Worker> list, String name) {
        list.removeIf(worker -> worker.getName().equals(name));
    }

    // 使用 for 循环打印所有工人信息
    public void print(List<Worker> list) {
        for (Worker worker : list) {
            System.out.println("Workers info:" + worker.getName() + " " + worker.getAge() + " " + worker.getSalary());
        }
    }

    // 使用 Iterator 遍历并调用 work 方法
    public void callwork(List<Worker> list) {
        Iterator<Worker> iterator = list.iterator();
        while (iterator.hasNext()) {
            Worker worker = iterator.next();
            worker.work();
        }
    }
}

2.完整代码

 

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

class Worker {
    private int age;
    private String name;
    private double salary;

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

    public void work() {
        System.out.println(this.name + " work");
    }

    // Getter 方法用于访问属性
    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

    public double getSalary() {
        return salary;
    }
}


class workerHelper {

    // 添加初始三个工人
    public void add(List<Worker> list) {
        list.add(new Worker("Tom", 18, 3000));
        list.add(new Worker("Peter", 25, 3500));
        list.add(new Worker("Mark", 22, 3200));
    }

    // 插入一个工人 Robert
    public void append(List<Worker> list) {
        list.add(new Worker("Robert", 24, 3300));
    }

    // 删除姓名为 mark 的工人
    public void del(List<Worker> list, String name) {
        list.removeIf(worker -> worker.getName().equals(name));
    }

    // 使用 for 循环打印所有工人信息
    public void print(List<Worker> list) {
        for (Worker worker : list) {
            System.out.println("Workers info:" + worker.getName() + " " + worker.getAge() + " " + worker.getSalary());
        }
    }

    // 使用 Iterator 遍历并调用 work 方法
    public void callwork(List<Worker> list) {
        Iterator<Worker> iterator = list.iterator();
        while (iterator.hasNext()) {
            Worker worker = iterator.next();
            worker.work();
        }
    }
}



public class Main {
    public static void main(String[] args) {
        workerHelper wh = new workerHelper();
        List<Worker> ls = new ArrayList<>();
        wh.add(ls);
        wh.append(ls);
        wh.del(ls, "Mark");
        wh.print(ls);
        wh.callwork(ls);
    }
}


网站公告

今日签到

点亮在社区的每一天
去签到