2011-04-27 49 views
2

需要使用for-each循環,每個人獲得的加薪是1000.我該如何給這個名單上的每個人加薪

會是這樣嗎?

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

IM與此

public ArrayList<Person> people; 
+6

我不會回答,直到我在列表中! – 2011-04-27 20:33:22

回答

6

如果你想要的是1000的每個人提高,例如工資,它會更喜歡:

1.定義一個類。

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; 
    } 
} 

2.使用在你for-each循環的每PersonraiseSalary(int salary)方法。

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

不要忘記爲了使用ListArrayList導入java.util.*

閱讀關於每個循環here

4

工作,我覺得它更像是這樣的: -

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

注:我不知道對人類的API是什麼,所以我正在猜測那部分。

1

應該是這樣的:

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

在這裏,您遍歷名爲people列表中的每個元素。實際元素由變量p引用。所以你需要在你的People類中有一個叫做increaseRaise的方法。

2

考慮:

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

認爲你的意思爲循環包含這樣的:

i.add(raise); 

第一行聲明的變量i依次分配給每個Person的列表中的值爲people

相關問題