下面的代码实现了自动添加员工的信息 并对其提高工资的操作 最后将员工的信息输出
package com.java.test;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.GregorianCalendar;
public class Employee {
/**
* @param args
*/
private String name;
private double salary;
private String hireDay;
public Employee(String n,double s,int year,int month,int day)
{
name=n;
salary=s;
GregorianCalendar calendar = new GregorianCalendar(year,month-1,day);
DateFormat df=new SimpleDateFormat("yyyy-MM-dd");
Date date=new Date();
date=calendar.getTime();
hireDay=df.format(date);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
public String getHireDay() {
return hireDay;
}
public void setHireDay(String hireDay) {
this.hireDay = hireDay;
}
public void raiseSalary(double byPercent)
{
double raise=salary*byPercent/100;
salary+=raise;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Employee[] staff=new Employee[3];
staff[0]=new Employee("jack",1200,2001,3,2);
staff[1]=new Employee("tom",1300,2002,4,3);
staff[02]=new Employee("Linda",1400,2003,5,4);
System.out.println("各雇员的原始工资信息如下:");
for(Employee e:staff)
System.out.println("name="+e.getName()+",salary="+e.getSalary()+",hireDate="+e.getHireDay());
for(Employee e:staff)
e.raiseSalary(10);
System.out.println("各雇员的工资提高10%以后的信息如下:");
for(Employee e:staff)
System.out.println("name="+e.getName()+",salary="+e.getSalary()+",hireDate="+e.getHireDay());
}
}
学习心得:
从这段代码中 我学会了 可以用类数组的方式生成多个对象,并通过构造器构造对象 并用foreach语法将员工的信息依次的输出。并且知道了GregorianCalendar calendar = new GregorianCalendar(year,month-1,day);中GregorianCalendar 获得的calendar对象中要把month-1才能得到当前的日期!这段代码是经过我修改过的 原来的代码中 hireDate 的类型是Date类型的,在构造函数中 ,想获得员工的hireDate 要通过 calender.getTime()函数获得,可是这样得来的日期格式不符合人们的日常习惯,所以 这里 我将calendar转化成Date类型了 ,这样转化的好处是可以利用DateFormat对日期的格式进行约束。
package com.java.test;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.GregorianCalendar;
public class Employee {
/**
* @param args
*/
private String name;
private double salary;
private String hireDay;
public Employee(String n,double s,int year,int month,int day)
{
name=n;
salary=s;
GregorianCalendar calendar = new GregorianCalendar(year,month-1,day);
DateFormat df=new SimpleDateFormat("yyyy-MM-dd");
Date date=new Date();
date=calendar.getTime();
hireDay=df.format(date);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
public String getHireDay() {
return hireDay;
}
public void setHireDay(String hireDay) {
this.hireDay = hireDay;
}
public void raiseSalary(double byPercent)
{
double raise=salary*byPercent/100;
salary+=raise;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Employee[] staff=new Employee[3];
staff[0]=new Employee("jack",1200,2001,3,2);
staff[1]=new Employee("tom",1300,2002,4,3);
staff[02]=new Employee("Linda",1400,2003,5,4);
System.out.println("各雇员的原始工资信息如下:");
for(Employee e:staff)
System.out.println("name="+e.getName()+",salary="+e.getSalary()+",hireDate="+e.getHireDay());
for(Employee e:staff)
e.raiseSalary(10);
System.out.println("各雇员的工资提高10%以后的信息如下:");
for(Employee e:staff)
System.out.println("name="+e.getName()+",salary="+e.getSalary()+",hireDate="+e.getHireDay());
}
}
学习心得:
从这段代码中 我学会了 可以用类数组的方式生成多个对象,并通过构造器构造对象 并用foreach语法将员工的信息依次的输出。并且知道了GregorianCalendar calendar = new GregorianCalendar(year,month-1,day);中GregorianCalendar 获得的calendar对象中要把month-1才能得到当前的日期!这段代码是经过我修改过的 原来的代码中 hireDate 的类型是Date类型的,在构造函数中 ,想获得员工的hireDate 要通过 calender.getTime()函数获得,可是这样得来的日期格式不符合人们的日常习惯,所以 这里 我将calendar转化成Date类型了 ,这样转化的好处是可以利用DateFormat对日期的格式进行约束。