java编程题

这篇博客提出了三个编程挑战:1)设计一个工人类,并填充工人信息,进行排序和筛选操作;2)实现张三和李四的200米赛跑,模拟线程竞争;3)创建User类封装客户信息,按序号存储在Map中并找出年龄最大和最小的客户。博客涵盖了对象封装、集合操作和多线程等Java核心概念。
摘要由CSDN通过智能技术生成

1.按要求完成以下题目:(15分)
(1) 封装一个工人类,有变量:姓名、年龄、工资、入职时间,有work方法。
(2) 创建一个数组,在数组中增加如下四个工人,基本信息如下:
姓名 年龄 工资 入职时间
张3 18 3000 2016年03月26日
李4 25 3500 2017年03月26日
王5 22 3200 2016年07月26日
张6 18 3000 2016年03月26日
(3) 分割字符串”姓名:赵6,年龄:24,工资:3300,入职时间:2017年04月 15日”,赋值给一个工人类对象,替换掉张6。
(注:先将字符串用“,”切割为4段,然后再将每一段用”:“切割得到属性值。再 将属性值赋值给工人对象)
(4) 利用for 循环遍历,输出数组中所有工人的信息
(5) 输出工资最高的工人的姓名。
(6) 按工资对工人进行升序排列,计算排序时间并输出集合中所有工人的信息
(7) 输出所有姓“张”的工人信息
(8) 输出2017年入职的工人信息。
(9) 计算每个工人来工作多少天了
(10) 将可能发生异常的代码放在try块中,并使用catch块捕获异常

public class Worker {
   
	String name;
	int age;
	int salary;
	String time;
	public void work() {
   
		System.out.println("工作");
	}
	public Worker() {
   
		super();		
	}
	public Worker(String name, int age, int salary, String time) {
   
		super();
		this.name = name;
		this.age = age;
		this.salary = salary;
		this.time = time;
	}
	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 int getSalary() {
   
		return salary;
	}
	public void setSalary(int salary) {
   
		this.salary = salary;
	}
	public String getTime() {
   
		return time;
	}
	public void setTime(String time) {
   
		this.time = time;
	}
	@Override
	public String toString() {
   
		return "姓名" + name + ",年龄" + age + ", 工资" + salary + ", 入职时间" + time ;
	}	
}
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test {
   
	public static void main(String[] args) {
   
		Worker[] worker = new Worker[5];
		worker[0] = new Worker("张3", 18, 3000, "2016年03月26日");
		worker[1] = new Worker("李4", 25, 3500, "2017年03月26日");
		worker[2] = new Worker("王5", 22, 3200, "2016年07月26日");
		worker[3] = new Worker("张6", 18, 3000, "2016年03月26日");
		String str = "姓名:赵6,年龄:24,工资:3300,入职时间:2017年04月15日";
		String[] strings = str.split("[,]");
		String[] name = strings[0].split(":");
		String[]<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值