如何为此列表中的每个人加薪

时间:2011-04-27 20:21:25

标签: java

需要使用for-each循环,每个人得到的加注是1000。

会是这样的吗?

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

我正在使用这个

   public ArrayList<Person> people;

4 个答案:

答案 0 :(得分: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循环中的每个raiseSalary(int salary)使用Person方法。

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

不要忘记导入java.util.*才能使用ListArrayList

了解for-each循环here

答案 1 :(得分:4)

我认为更像是这样: -

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

注意:我不确定Person类的api是什么,所以我猜这个部分。

答案 2 :(得分:2)

假设:

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

你想让循环包含这个:

i.add(raise);

第一行声明变量i依次分配给列表Person中的每个people值。

答案 3 :(得分:1)

它应该是这样的:

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

在这里,您迭代名为people的列表中的每个元素。实际元素由变量p引用。因此,您需要在increaseRaise类中使用名为People的方法。