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