-4
public class Employee {
private int id = 0;
private String forename = null;
private String surname = null;
private Salary salary = null;
private CompanyPosition companyposition = null;
public Employee(){
}
public int getId() {
return id;
}
public String getForename() {
return forename;
}
public String getSurname() {
return surname;
}
public Salary getSalary() {
return salary;
}
public String getPositionName() {
return getPositionName();
}
public boolean eligibleForBonus(){
boolean eligibleForBonus;
if (salary > 40000) {
eligibleForBonus = true;
}
else {
eligibleForBonus = false;
}
return eligibleForBonus;
}
}オペレータが>引数の型(S)給与のために定義されていない、if文のため
をint型には、オペレータが>引数の型(S)給与、int型のために定義されていません。と言います私はJavaに慣れていないので、ここで何ができるのか分かりません。給与も別のクラスであり、給与はそのクラス内の変数です。これはダブルタイプです。
あなたはクラスのオブジェクトとして 'salary'を宣言します'給料」 - あなたはそれをintとどのように比較できますか? – alfasin
あなたは 'salary'クラスから' salary'変数を取り出し、それを比較する必要があります。 – ajb
これを論理的に考えてみましょう。 '>'は、int、double、long、byteなどの数値変数でしか使用できない数学演算子です。給与はあなたが作成したクラスであり、数値型ではない(そして1つになることはできません)ので、 '>'は理にかなっていません。 Salaryのコードが表示されないため、Salaryのフィールドの価値を比較したいと思うかもしれません。 –