(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]));
}
}