问题
构建程序,实现员工的信息的打印,打印的效果如图所示:
从上图可以看出,第二次打印员工信息时,该员工的工资上涨25%。
方案
首先,一个员工包含多方面的信息数据,可以考虑使用一个对象来封装员工的数据。而多个员工的数据结构项是相同的,不同的是具体的数据,因此,可以定义一个类Emp,用于表示员工;并在类中定义多个属性用于表示员工的各项数据。代码如下所示:
public class Emp{
String name;
int age;
char gender;
double salary;
}
然后,修改类Emp,在类中定义打印员工信息的方法,代码如下所示:
public void printInfo(){
System.out.println("-----------------");
System.out.println("姓名:"+name);
System.out.println("年龄:"+age);
System.out.println("性别:"+gender);
System.out.println("薪水:"+salary);
}
最后,在main方法中,创建员工对象之后,可以直接调用该对象的打印方法,以显示数据。代码如下所示:
Emp emp2=new Emp();
emp2.name="白发馍女";
emp2.age=24;
emp2.gender='女';
emp2.salary=6000;
emp2.printInfo();
将员工信息封装为printInfo方法的好处为:如果员工增加其他数据项,或者打印的功能发生变化(比如打印的格式发生变化),只需要维护类Emp的代码即可,而调用方(方法main)依然只需要调用相应的方法即可,从而简化了代码的维护和发展。
步骤
实现此案例需要按照如下步骤进行。
步骤一:定义类Emp
首先定义一个名为Emp的类,并在类中定义四个属性,分别显示员工的姓名、年龄、性别和薪资。代码如下所示:
public class Emp{
String name;
int age;
char gender;
double salary;
}
步骤二:修改类Emp,为其定义打印员工信息的方法
修改类Emp中的代码,为该类定义方法,用于打印员工信息。代码如下所示:
public class Emp{
String name;
int age;
char gender;
double salary;
/**
*打印员工信息
*/
public void printInfo(){
System.out.println("-----------------");
System.out.println("姓名:"+name);
System.out.println("年龄:"+age);
System.out.println("性别:"+gender);
System.out.println("薪水:"+salary);
}
}
步骤三:构建对象,打印数据
创建EmpManager类,在该类的main方法中添加代码:定义对象,封装员工的各项数据,并调用对象的打印方法。代码如下所示:
public class EmpManager{
public static void main(String[] args){
//创建对象
Emp emp2=new Emp();
emp2.name="白发馍女";
emp2.age=24;
emp2.gender='女';
emp2.salary=6000;
//打印数据
emp2.printInfo();
}
}
步骤四:修改薪资信息
将员工的薪资提高25%,并重新打印信息。代码如下所示:
public class EmpManager{
public static void main(String[] args){
//创建对象
Emp emp2=new Emp();
emp2.name="白发馍女";
emp2.age=24;
emp2.gender='女';
emp2.salary=6000;
//打印数据
emp2.printInfo();
//调整薪资
emp2.salary*=125.0/100.0;
emp2.printInfo();
}
}