私はクラス割り当てのための従業員、マネージャー、時間労働者のコードを書いていますが、私は理解できない問題にぶつかった、次は従業員のためのコードと時間労働者です。問題は時間ごとの作業者がコンパイルされないことです。コンパイルしようとすると "シンボルコンストラクタの従業員を見つけることができません"というエラーが表示されます。 !。もはや問題の感謝のPieterを見ることができないJavaコンパイラエラー: "シンボルコンストラクタを見つけることができません.."
Employeeクラス - 。
public class Employee
{
public String firstName;
public String lastName;
public double hourlyRate;
final static double NORMAL_WORKWEEK = 37.5;
public Employee(String firstName, String lastName, double hourlyRate)
{
setFirstName(firstName);
setLastName(lastName);
setHourlyRate(hourlyRate);
}
//Accessor and Mutator Methods for the employee's first name.
public String getFirstName()
{
return firstName;
}
public void setFirstName(String firstName)
{
firstName = firstName;
}
//Accessor and Mutator Methods for the employee's last name.
public String getLastName()
{
return lastName;
}
public void setLastName(String lastName)
{
lastName = lastName;
}
//Access and Mutator Methods for the employee's hourly rate.
public double getHourlyRate()
{
return hourlyRate;
}
public void setHourlyRate(double hourlyRate)
{
//If the user input is valid, update the employee's hour rate with the newly input value.
if(hourlyRate > 0)
{
hourlyRate = hourlyRate;
}
//Otherwise prevent an hour rate greater than zero being overwritten
else if(hourlyRate <=0)
{
if(hourlyRate <= 0)
{
hourlyRate = 0;
}
decorateConsole();
//Alert the user to their mistake.
System.out.println("Error ! ! ! - An attempt to set the employee " + this.firstName + " " + this.lastName + "'s hourly rate to zero was detected.\n");
decorateConsole();
}
}
public void printState()
{
decorateConsole();
System.out.println("[FIRST NAME] = " + firstName + " [LAST NAME] = " + lastName + " [HOURLY RATE] = " + hourlyRate + "\n");
decorateConsole();
}
public void decorateConsole()
{
System.out.println("+-< EMPLOYEE INFO >-------------------------------------------------------------------------------------------------------------------------+\n");
}
HOURLY WORKERのCLASS -
public class HourlyWorker extends Employee
{
private double wage;
private double hours;
public HourlyWorker(String firstName, String lastName, double hourlyWage, double hoursWorked)
{
super(firstName, lastName);
this.wage = wage;
this.hours = hours;
}
public void setWage (double hourlyWage)
{
this.wage = wage;
}
public void getWage()
{
return wage;
}
public void setHours (double hours)
{
this.hours = hours;
}
public double getHours()
{
return hours;
}
}
あなたのコンパイルコマンドは何ですか? – dacwe
次回エラーコードを貼り付けることをお勧めします。エラーをそのように見分ける方が簡単です。 – OscarRyz
セッターが壊れています。 'firstName = firstName' - ' firstName'(ローカル変数)の値をローカル変数 'firstName'に代入します(つまり、それ自身をオーバーライドします)。 'this.firstName = firstName'と書くべきです。 – Crozin