要求用户输入若干员工信息,格式为: name,age,gender,salary,hiredate
package day06; import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.Scanner; /**
* 要求用户输入若干员工信息,格式为:
* name,age,gender,salary,hiredate;name,age,gender,salary,hiredate;....
* 例如:
* 张三,25,男,5000,2006-03-16;李四,26,女,6000,2007-12-24;...
* 然后将每个员工信息解析成Emp对象。并存入到一个集合中。
* 然后循环集合,输出每一个员工信息(输出使用toString返回的字符串)
* 然后输出每个员工的转正仪式日期。
* 转正仪式日期为:入职3个月的当周周五
*
* @author Xiloer
*
*/
public class Test09 {
public static void main(String[] args) throws ParseException {
System.out.println("输入若干员工信息:");
Scanner scan = new Scanner(System.in);
String str = scan.nextLine();
/*
* String[] split(String regex)方法
* 根据参数regex(regex是一个正则表达式,用来限定分割规则
* 将字符串分割为若干个子字符串
*/
String[] arr = str.split(";");
List<Emp> list = new ArrayList<Emp>();
for(int i = 0;i<arr.length;i++) {
//创建数组,将员工属性用“,”隔开
String[] arr1 = arr[i].split(",");
String name = arr1[0];
//将字符串转换为基本类型。包装类.parse(String str)方法
int age = Integer.parseInt(arr1[1]);
String gender = arr1[2];
int salary = Integer.parseInt(arr1[3]);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date hiredate = sdf.parse(arr1[4]);
//创建Emp对象
Emp emp = new Emp(name, age, gender, salary, hiredate);
list.add(emp);
}
for(Emp e: list) {
System.out.println(e.toString());
}
for(int i = 0;i<arr.length;i++) {
String[] arr1 = arr[i].split(",");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date hiredate = sdf.parse(arr1[4]);
Calendar c = Calendar.getInstance();
//将Date类型转换为Calendar类型
c.setTime(hiredate);
c.add(c.MONTH, 3);
c.set(c.DAY_OF_WEEK,c.FRIDAY);
/*
* c.getTime()将Calendar类型转换为Date类型
* sdf.format(c.getTime())将Date类型转换为字符串类型
*/
System.out.println(sdf.format(c.getTime()));
}
} }
要求用户输入若干员工信息,格式为: name,age,gender,salary,hiredate的更多相关文章
- 使用scanner工具类来获取用户输入的信息
使用scanner工具类来获取用户输入的成绩信息. 步骤:1.导入java.util.Scanner包 2.创建Scanner对象 3.接受并保存用户输入的值 例子:通过用户输入来获取学生成绩 pac ...
- Python 员工信息管理系统
学Python将近一个月了,第一次写了两百多行代码,一个很简单的脚本. 员工信息管理系统: 需求: 1.管理员账户能够增加,删除,修改,查询员工信息,并且设置管理员账户. 2.普通账户可以查看所有员工 ...
- s9.16作业,员工信息表
转载https://blog.csdn.net/qq_35883464/article/details/83151464 实现员工信息表文件存储格式如下:id,name,age,phone,job1, ...
- 第七章 用户输入和while语句
大多数编程都旨在解决最终用户的问题,为此通常需要从用户那里获取一些信息.例如,假设有人要判断自己是否到了投票的年龄,要编写回答这个问题的程序,就需要知道用户的年龄,这样才能给出答案.因此,这种程序需要 ...
- Date() 及其 如何验证用户输入的日期是合法的
1.var someDate = new Date(Date.parse("May 25, 2004")); <=> var someDate = new Dat ...
- 9 在C#控制台程序(console)中让用户输入
经过前面那些练习,我们已经熟悉录入一些简单的代码.这些代码可以进行一些简单的运算,在dos窗口打印出一些东西出来.我们现在要开始学习如何把数据从外部输入到我们的程序中. 其实大多数程序的工作是完成下面 ...
- 小项目: low版本的 员工信息程序:
### 附加两个文件1 user_info 和worker_info flag = False def logon(): #登录函数 global flag usr = input('Username ...
- Java初学者作业——编写JAVA程序,在控制台中输入六位员工的姓名,通过随机点名方式,输出当选组长的员工姓名。
返回本章节 返回作业目录 需求说明: 编写JAVA程序,在控制台中输入六位员工的姓名,通过随机点名方式,输出当选组长的员工姓名. 实现思路: (1)定义字符串类型的数组names,长度为6,用于存储六 ...
- Python学习-用户输入和字符串拼接
用户输入和字符串拼接 #用户输入和字符串拼接username=input("username:")age=int(input("Age:")) #转换整数型 ...
随机推荐
- Django 模板 render传参不转码
今天通过Django后端向前端页面传递一行js代码,却发现符号被转码了导致代码不能执行 Django代码 HTML代码 实际生成页面代码 我们可以看到实际代码中的引号被转义,导致代码不能执行, 解决方 ...
- 在 .NET Core 中使用 ViewConfig 调试配置
介绍 .NET Core 中的配置包含了多个配置提供程序,包括了 appsettings.json,环境变量,命令行参数等,还有一些扩展的自定义提供程序,比如说 ApolloConfig,AgileC ...
- 自己挖的坑自己填--jxl进行Excel下载堆内存溢出问题
今天在进行使用 jxl 进行 Excel 下载时,由于数据量大(4万多条接近5万条数据的下载),数据结构过于负责,存在大量大对象(虽然在对象每次用完都设置为null,但还是存在内存溢出问题),加上本地 ...
- 【SqlServer】管理全文索引(FULL TEXT INDEX)
Sql Server中的全文索引(下面统一使用FULLTEXT INDEX来表示全文索引),是一种特定语言搜索索引功能.它和LIKE的不一样,LIKE主要是根据搜索模板搜索数据,它的效率比FULLTE ...
- 量体裁衣方得最优解:聊聊页面静态化架构和二级CDN建设
量体裁衣方得最优解:聊聊页面静态化架构和二级CDN建设 上期文章中我们介绍了CDN和云存储的实践,以及云生态的崛起之路,今天,我们继续聊一聊CDN. 我们通常意义上讲的CDN,更多的是针对静态资源类的 ...
- 全面了解Vue3的 ref 和相关函数和计算属性
基础类型的响应性 -- ref 在vue3里面,我们可以通过 reactive 来实现引用类型的响应性,那么基础类型的响应性如何来实现呢? 可能你会想到这样来实现: const count = rea ...
- 关于ArrayList 中子方法 -- contains 疑惑解决
写之前先看下 ArrayList 子函数 contains 的Api 怎么介绍: boolean contains(Object o) 如果此列表中包含指定的元素,则返回 true ...
- BLE链路层状态机初探
状态机 BLE链路层把所有的功能放到五种不同的状态中,在不同的状态分别执行不同的功能. 一般来说,BLE设备大致有这么几种状态:空闲,广播,扫描,发起连接和连接成功. 广播和扫描是相对应的,一个设备广 ...
- Java 轻松理解深拷贝与浅拷贝
目录 前言 直接赋值 拷贝 浅拷贝 举例 原理 深拷贝 实现: Serializable 实现深拷贝 总结 前言 本文代码中有用到一些注解,主要是Lombok与junit用于简化代码. 主要是看到一堆 ...
- scrapy爬虫框架调用百度地图api数据存入数据库
scrapy安装配置不在本文 提及, 1.在开始爬取之前,必须创建一个新的Scrapy项目.进入自定义的项目目录中,运行下列命令 scrapy startproject mySpider 其中, my ...