2017-05-08 47 views
0
public static void addBonus(double[] array, double bonus) 
{ 
    for (int k = 0; k < array.length; k++) 
    { 
     array[k] = array[k] + bonus; 
    } 
} 

public static void main(String[] args) 
{ 
    double[] scores = { 45.6, 67.8, 89.4 }; 
    addBonus(scores, 3.0); 
    System.out.print(scores[2]); 
} 

我看这是改变数组内容的方法的执行,我开始通过循环运行,是罚款,直到我到达+奖金部分,我知道数组[k]对于[0]等于45.6等等,但我不确定是否应该添加3.0。我想我的问题是,不理解行addBonus(分数,3.0)。 谢谢你的时间,我相对较新的java我怎么会去追踪这个Java数组代码片断

回答

0

在行addBonus(scores, 3.0)您调用带有参数scores & 3.0方法addBonus。所以这些将被复制到方法addBonus(double[] array, double bonus)的相应参数中。因此bonus将具有值3.0

这里array[k] = array[k] + bonus;您正在将3.0添加到所有数组元素。

1

是你的每个数组元素将增加3.0加分,你通过addBonus传递(分数,3.0);