2011-04-27 4 views
2

for-each 루프를 사용해야하고 각각을받는 사람이 1000 명이면됩니다.이 목록에있는 각 사람에게 레이즈를 부여하려면 어떻게해야합니까?

이렇게 되시겠습니까?

int raise = 1000; 
for(Person i : people) { 
    i.giveRaise(raise) 
} 

참고 : 나는 Person 클래스에 대한 API를 그렇게 무엇인지 잘 모르겠어요 - :

int raise = 1000; 
for (Person i : people){ 
    people.add(raise, i);  
    } 

메신저이

public ArrayList<Person> people; 
+6

내가 목록에 올 때까지 나는 대답하지 않을 것이다! –

답변

6

모든 사람 1000에 의해 예를 들어 연봉 인상하는 것입니다 당신이 원하는, 더 같이 될 경우

1.Define 클래스.

public class Person { 

    private int salary; 

    public int getSalary() { 
     return salary; 
    } 

    public void setSalary(int salary) { 
     this.salary = salary; 
    } 

    public void raiseSalary(int salary) { 
     this.salary += salary; 
    } 
} 

당신을위한-각 루프의 모든 PersonraiseSalary(int salary) 방법 구석 구석.

List<Person> people = new ArrayList<Person>(); 
people.add(new Person()); 
for (Person person : people) { 
    person.raiseSalary(1000); 
} 

망가 ListArrayList를 사용하기 위해 java.util.*을 가져올 것을 잊지.

for-each 루프에 대한 설명 here.

4

작업 나는 그것이 더 이런 식으로 생각 나는 그 부분을 추측하고있다. 여기

for (People p: people) { 
    p.increaseRaise(1000); 
} 

당신이 people라는 목록의 각 요소를 반복 :

1

그것은이 같은해야한다. 실제 요소는 변수 p에 의해 참조됩니다. 그러므로 People 클래스에 increaseRaise이라는 메서드가 필요합니다.

2

을 감안할 때 :

i.add(raise); 

첫 번째 줄은 Person의 각각에 차례로 할당 할 변수 i 선언

for (Person i : people) { ... } 

내가 생각 이를 포함하는 루프에 대한 의미 목록의 값은 people입니다.

관련 문제