要求用户输入若干员工信息,格式为: 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()));
        }
    }

}

 

上一篇:0531vue2.0基本介绍


下一篇:动态SQL之条件判断