2017-10-30 7 views
-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; 
} 

}는 연산자를 말한다 if 문에 대한운영자는>, 인수의 형태 (들) 급여에 대한 정의되지 않은

>은 인수 형식 (들) 급여, 인터넷 용 정의되지 int로한다. 나는 Java에 익숙하지 않아서 여기에 무엇이 있는지 잘 모르겠습니다. 급여 또한 다른 급이고 급여는 그 급 내의 변수이며, 이중 유형입니다.

+0

당신은 클래스의 객체로'salary'를 선언' 샐러리 '- 어떻게 그것을 int와 비교할 수 있습니까? – alfasin

+0

'Salary' 클래스에서'salary' 변수를 가져 와서 비교해야합니다. – ajb

+0

이것을 논리적으로 생각해 보라.'>'는 int, double, long, byte 등의 수치 변수에서만 사용할 수있는 수학 연산자이다. 급여는 여러분이 만든 클래스로, 숫자 형이 아닌 (그리고 하나가 될 수는 없습니다) 그래서'>'는 의미가 없습니다. 아마도 급여 분야의 가치를 비교하기를 원할 것입니다. 우리가 월급의 코드를 보지 못했기 때문에 알기가 어려울 것입니다. –

답변

0

Salary 클래스의 변수 값과 비교해야합니다. 다른 클래스의 두 배 변수를 가정하면 salary라고 : 실제 급여 금액은 게터의 칼레 getAmount 또는 무언가가있는 경우

if (salary.salary > 40000) { 
    ... 

또는

가 :

if (salary.getAmount()) { 
    ...