【问题标题】:How would I go about tracing this java arrays code snippet我将如何跟踪这个 java 数组代码片段
【发布时间】:2017-05-08 16:41:30
【问题描述】:
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]);
}

我看到这是一个更改数组内容的方法的执行,我从运行循环开始,直到我到达 + 奖励部分,我知道 array[k] 将是 45.6 [0] 等等,但我不确定 3.0 是否应该添加。我想我的问题是,不理解 addBonus(scores, 3.0) 这一行。 感谢您的宝贵时间,我对 java 比较陌生

【问题讨论】:

    标签: java arrays add system.out


    【解决方案1】:

    是的,您的每个数组元素都将增加 3.0 奖金,这是您在 addBonus(scores, 3.0) 中传递的;

    【讨论】:

      【解决方案2】:

      addBonus(scores, 3.0) 行中,您使用参数scores3.0 调用方法addBonus。所以这些将被复制到方法addBonus(double[] array, double bonus)的各自参数中。所以bonus 的值为3.0

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-07-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多