Я пишу программу, которая принимает пользовательский ввод для сотрудников. У меня есть несколько частных сеттеров (они должны быть закрытыми в соответствии с UML), но имена методов подчеркнуты серым цветом. Я пробовал создавать геттеры или делать this.variableName, чтобы избавиться от них, но, честно говоря, у меня нет большого опыта работы с частными сеттерами, поэтому я не уверен, что делать. Также нет геттеров для некоторых переменных и нет конструктора по умолчанию, как показано в UML.
UML:
и вот мой код
public class Employee_Kubik {
//variables
private static String name;
private double salary;
private int yearsWith;
private double sales;
public Employee_Kubik(String n, double sala, int y, double sale){
name = n;
salary = sala;
yearsWith = y;
sales = sale;
} //Employee end
public String getName(){
return name;
} //getName end
private void setSalary(double s){
if (s > 0){
salary = s;
} //if end
else{
salary = 0;
} //else end
} //setSalary end
private void setYearsWith(int yw){
if (yw > 0){
yearsWith = yw;
} //if end
else{
yearsWith = 0;
} //else end
} //setYearsWith
private void setSales(double s){
if(s > 0){
sales = s;
} //if end
else{
sales = 0;
} //else end
} //setSales end
public boolean promote(){
if(sales > 9999 && yearsWith > 2){
return true;
} //if end
else{
return false;
} //else end
} //promote end
public double calculateRaise(){
salary = salary * 0.05;
return salary;
} //calculateRaise end
@Override
public String toString(){
return "Employee Name: " +
name +
", has been with the company for " +
yearsWith +
" years and last year sold a total of $" +
sales +
"\nPromotion Status = " +
promote();
} //toString end
} //class end