【问题标题】:JAVA - Finding the average value of a double type Array - my code doesn't workJAVA - 查找双精度类型数组的平均值 - 我的代码不起作用
【发布时间】:2020-10-20 17:17:47
【问题描述】:

我的代码应该执行以下操作:

  1. 将此特定数组中的所有双精度值相加:double nums[] = {10.5, 11.50,12.50,13.50,14.50}

  2. 之后应该除以 5 或 nums.length

总而言之,我应该得到 1 个结果,但我的代码分别显示每个元素的 nums[i]/5。

请检查我的代码并告诉我,我做错了什么。

public class HelloWorld{

     public static void main(String []args){
        double [] nums = {10.5, 11.50,12.50,13.50,14.50};  
        double result = 0;
        int i;
        for(i=0; i<nums.length;i++){
            result = result+nums[i];
            System.out.println("Average is "+ result/5);
        }
  
     }

}

我当前的代码显示如下:

Average is 2.1
Average is 4.4
Average is 6.9
Average is 9.6
Average is 12.5

【问题讨论】:

  • 您已将打印语句放入循环中。为什么你希望它只打印一次?
  • 因为我复制的内容与这本该死的书中完全相同,并且我希望它能够工作,显然这本书是 BS。我为这本书支付了 40 多英镑。

标签: java arrays numbers average operation


【解决方案1】:

将打印线移出循环,以便平均只打印一次。

for(i=0; i<nums.length;i++){
    result = result+nums[i];        
}

System.out.println("Average is "+ result/5); // Moved out from the loop body

【讨论】:

    【解决方案2】:

    您也在循环内打印平均值。你想做的是这样的:

    for(i=0; i<nums.length;i++)
        result = result+nums[i];
    System.out.println("Average is "+ result/5); 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-25
      • 1970-01-01
      • 1970-01-01
      • 2019-02-09
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多