要求用户输入若干员工信息,格式为: 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:")) #转换整数型 ...
随机推荐
- (五)SpringBoot启动过程的分析-刷新ApplicationContext
-- 以下内容均基于2.1.8.RELEASE版本 紧接着上一篇[(四)SpringBoot启动过程的分析-预处理ApplicationContext] (https://www.cnblogs.co ...
- 在Windows下配置Linux远程开发环境
在Windows下配置Linux远程开发环境 欢迎光临我的个人博客 https://source.chens.life/Configure-Linux-remote-development-envir ...
- java 基础知识储备
初始JAVA JAVA 帝国的诞生 1972年C诞生 贴近硬件,运行极快,效率极高. 操作系统,编译器,数据库,网络系统等 指针和内存管理 1982年C++诞生 面向对象 兼容C 图形领域.游戏等 纵 ...
- jenkins构建go及java项目
jenkins构建go及java项目 转载请注明出处https://www.cnblogs.com/funnyzpc/p/14554017.html 写在前面 jenkins作为java的好基友,经历 ...
- 常见SQL命令总结学习 -- <1>
SQL学习网练习记录 参考1:http://sample.jimstone.com.cn/xsql/Course/4.html 参考2:http://sample.jimstone.com.cn/xs ...
- 一文搞懂MySQL体系架构!!
写在前面 很多小伙伴工作很长时间了,对于MySQL的掌握程度却仅仅停留在表面的CRUD,对于MySQL深层次的原理和技术知识了解的少之又少,随着工作年限的不断增长,职场竞争力却是不断降低的.很多时候, ...
- 深入了解springcloud gateway 的限流重试机制
前言 前面给大家介绍了Spring Cloud Gateway的入门教程,这篇给大家探讨下Spring Cloud Gateway的一些其他功能. Spring Cloud Gateway中的重试 我 ...
- day11.迭代器与生成器
一.迭代器 1.迭代器即用来迭代取值的工具,而迭代是重复反馈过程的活动,其目的通常是为了逼近所需的目标或结果,每一次对过程的重复称为一次"迭代",而每一次迭代得到的结果会作为下一次 ...
- IPC 方法分类
IPC 方法分类 进程间通信 shell out 被调用程序在执行完毕之前接管用户的键盘和显示,退出后,调用程序重新控制键盘和显示并继续运行. 专门程序通常有文件系统与父进程进行通信,方法是在指定位置 ...
- 10276 - Hanoi Tower Troubles Again!(思维,模拟)
People stopped moving discs from peg to peg after they know the number of steps needed to complete t ...