インスタンス変数ごとに set メソッドと get メソッドを提供します。月給が正でない場合は、その値を設定しないでください。
私が抱えている問題は、「値を設定していない」ことです。これが私のコードです:
Main.class
public class Main {
public static void main(String[] args) {
Employee myEmp = new Employee("William", "Russell", 30000);
Employee myEmp2 = new Employee("Yevgeniya", "Pakhom", -1);
myEmp.displayMessage();
myEmp2.displayMessage();
}
}
Employee.class
public class Employee {
private String fName;
private String lName;
private double ySalary;
public Employee (String firstName, String lastName, double yearSalary)
{
fName = firstName;
lName = lastName;
ySalary = yearSalary;
}
// Set First Name
public void setFName (String firstName)
{
fName = firstName;
}
// Get First Name
public String getFName()
{
return fName;
}
// Set Last Name
public void setLName (String lastName)
{
lName = lastName;
}
// Get Last Name
public String getLName()
{
return lName;
}
// Set Salary
public void setSalary (double yearSalary)
{
ySalary = yearSalary;
}
// Get Salary
public double getYearSalary()
{
return ySalary;
}
// Display method
public void displayMessage()
{
if (ySalary < 0)
System.out.printf("Hello %s %s, \nI see you're currently making: %.2f\n", getFName(), getLName(),getYearSalary() );
}
}
displayMessage() メソッドに if ステートメントを入れました。しかし、それは「何も設定しない」ことではないと思います。
私の妻も同様の問題を抱えており、「Get」の下に設定しましたが、私のものは同じように機能していません。