编辑:我已经为平均值编写了代码,但我不知道如何使它也使用 int
来自我的 args.length
而不是数组。
我需要编写一个可以计算的java程序:
- 读入的整数个数
- 平均值——不必是整数!
注意:我不想计算数组的平均值,而是计算 args
中的整数。
目前我已经写了这个:
int count = 0;
for (int i = 0; i<args.length -1; ++i)
count++;
System.out.println(count);
}
int nums[] = new int[] { 23, 1, 5, 78, 22, 4};
double result = 0; //average will have decimal point
for(int i=0; i < nums.length; i++){
result += nums[i];
}
System.out.println(result/count)
谁能指导我正确的方向?或者举一个例子来指导我以正确的方式来塑造这段代码?
提前致谢。
原文由 syncoroll 发布,翻译遵循 CC BY-SA 4.0 许可协议
只需对您的代码进行一些小的修改即可(为清楚起见,对 var 进行一些重命名):
请注意,循环也可以简化:
编辑:OP 似乎想使用
args
数组。这似乎是一个字符串数组,因此相应地更新了答案。更新:
正如 zoxqoj 正确指出的那样,上面的代码没有处理整数/双精度溢出。虽然我假设输入值足够小而不会出现这个问题,但这里有一个片段可用于非常大的输入值:
这种方法有几个优点(尽管有点慢,所以不要将它用于时间紧迫的操作):
BigDecimal
可能比适合double
或long
的更大。