题目内容:
设计一个雇员Employee类,具体要求如下:
(1) 设计雇员Employee类,记录雇员的情况,包括姓名、年薪、受雇时间(String name, double salary, MyDate start);
(2) 定义MyDate类作为日期,其中包括年、月、日,并定义一个方法String DateString() ,实现返回如格式“2020-3-5”的日期字符串;
(3) 设计一个有参构造方法Employee(String name, double salary, MyDate start) 和一个输出该类对象信息的方法void show()。
(4) 编写 Main类,在其main方法中创建一个Employee对象,其姓名、年薪、受雇时间信息由键盘输入,例如:姓名Mike,年薪30万,受雇时间2020-1-10,并调用show()方法输出其信息
MyDate.java
import java.time.Year;
public class MyDate {
int year;
int month;
int day;
public MyDate(int year, int month, int day) { //记得构造有参函数不然Test类会报错
this.year=year;
this.month=month;
this.day=day;
}
String DateString(){ //返回日期格式为"xxxx-xx-xx"
return year+"-"+month+"-"+day;
}
}
Employee.java
public class Employee {
String name;
double salary;
MyDate start;
Employee(String name,double salary,MyDate start){ //构造函数
this.name=name;
this.salary=salary;
this.start =start;
}
void Show(){
System.out.println("name:"+name);
System.out.println("salary:"+salary);
System.out.println("start:"+start.DateString()); //调用MyDate中DateString方法返回日期
}
}
//慕课作业需要更改void show(){
// System.out.println(name+",");
// System.out.println(salary+",");
// System.out.println(start.DateString());
Test.java
import java.util.Scanner; //加载Scanner类
public class Test {
public static void main(String args[]) {
Scanner sc =new Scanner(System.in);
String name = sc.nextLine(); //注意Stirng类型采用nextLine
double salary = sc.nextDouble(); //注意double类型采用nextDouble
int year = sc.nextInt(); //注意int类型采用nextInt
int month = sc.nextInt();
int day = sc.nextInt();
MyDate start =new MyDate(year,month,day);
Employee em1 = new Employee(name,salary,start);
em1.Show();
}
}
运行范例: