有一道 java面向对象编程题 求大家帮我写一下 面向对象基础 看到迷茫

【创建包:employee,完成如下功能】
1. 创建一个员工类(Employee),其中包括:
1) 4个私有属性:员工姓名(name)、员工年龄(age)、员工职位(position)、工资(salary)
2) 方法:
Employee() ——给所有的属性指定初始值
setName()——给name属性赋值
setAge()——给age属性赋值,要求年龄必须在18岁以上,当年龄无效时,将年龄强制赋值为18
setPosition()——给position属性赋值,只能是“售后服务”和“销售员”,如果不符合要求,则强制将职位赋值为“售后服务”。
setSalary()——用于员工的工资:根据员工的年龄段不同,给工资属性赋值,具体要求:18~20岁之间,1000元,21~25岁之间,1500元,26~30岁之间,2000元,31~40岁之间,3000元,41~50岁之间,3500元,50岁以上,4000元
getName()——返回name属性
getAge()——返回age属性
getPosition()——返回position属性
getSalary()——返回salary属性

2. 测试类TestEmployee,在该类中创建3个Employee对象,通过键盘输入给3个员工的名字、年龄、职位进行赋值,计算出每个员工的工资,显示出所有员工的信息

package employee;

public class Employee {
//员工私有属性
private String name; //员工姓名
private int age; //员工年龄
private String position; //员工职位
private int salary; //工资

/**
* 给所有的属性指定初始值
* @param name
* @param age
* @param position
* @param salary
*/
public Employee(String name,int age,String position,int salary){
this.name = name;
this.age =age;
this.position = position;
this.salary = salary;
}

/**
* 给name属性赋值
* @param name
*/
public void setName(String name){
this.name = name;
}

public String getName() {
return name;
}

/**
* 给age属性赋值
* @param age
*/
public void setAge(int age){
if(age<18){
this.age=18;
System.out.println("当年龄无效时,默认为18");
}else{
this.age =age;
}
}
public int getAge() {
return age;
}

/**
* 给position属性赋值
* @param position
*/
public void setPosition(String position){
if(position.equals("售后服务") || position.equals("销售员") ){
this.position = position;
}else{
this.position = "售后服务";
System.out.println("输入不符合要求,默认为售后服务");
}
}

public String getPosition() {
return position;
}

/**
* 给员工工资赋值
* @param salary
*/
public void setSalary(){
if(age>=18 && age<=20){
this.salary = 1000;
}else if(age>=21 && age<=25){
this.salary = 1500;
}else if(age>=26 && age<=30){
this.salary = 2000;
}else if(age>=31 && age<=40){
this.salary = 3000;
}else if(age>=41 && age<=50){
this.salary = 3500;
}else if(age>=51){
this.salary = 4000;
}else{
System.out.println("没有设置年龄或者年龄无效");
}
}

public int getSalary() {
return salary;
}

}

测试类

package employee;

import java.util.Scanner;

public class TestEmployee {
public static void main(String[] args){
Employee emp1 = new Employee(null, 0, null, 0) ;

Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个员工姓名");
//获取输入的名字
String name1 = sc.next();
emp1.setName(name1);
System.out.println("请输入第一个员工年龄");
//获取输入的年龄
int age1 = sc.nextInt();
emp1.setAge(age1);
System.out.println("请输入第一个员工职位");
//获取输入的职位
String position1 = sc.next();
emp1.setPosition(position1);
emp1.setSalary();

System.out.println("---------------------------------");
System.out.println("员工1姓名为:"+emp1.getName());
System.out.println("年龄:"+emp1.getAge());
System.out.println("工作为:"+emp1.getPosition());
System.out.println("工资为:"+emp1.getSalary());
}

}

第一次回答问题,玩玩而已但是还是希望采纳
温馨提示:答案为网友推荐,仅供参考