这里是初学者。我试图找到任何问题可以解决这个问题,但我不能,所以我提前道歉,如果这最终是一个重复。
因此,我有一个Double[]名为pay,包含三个Double值(totalPay、basePay、HoursWorkd),我将其存储在一个名为paylist的ArrayList中。
我在寻找一种方法来确定平均总工资,平均基本工资和平均工作小时数,我尝试使用foreach,但它似乎不起作用。
Double avgTotalPay=0.0;
Double avgBasePay=0.0;
Double avgHoursWworked=0.0;
for(Double paym[] : payList){
for(Double p: paym){
avgTotalPay+=paym[0];
}
avgTotalPay=avgTotalPay/payList.size();
}
for(Double paym[] : payList){
for(Double p: paym){
avgBasePay+=paym[1];
}
avgBasePay=avgBasePay/payList.size();
}
for(Double paym[] : payList){
for(Double p: paym){
avgHoursWworked+=paym[2];
}
avgHoursWworked=avgHoursWworked/payList.size();
}
System.out.println("Average Total Pay is: "+avgTotalPay+"\n Average Base Pay is: "+avgBasePay
+"\n Average number of hours worked is: "+avgHoursWworked);
(当用户为基本薪资和工作时数输入0时,该函数应将总薪资、基本薪资和工作时数平均。)
请输入基本薪资:
10
请输入工作时数:
10
总薪资为$100.0,时薪为$10.0/小时
请输入基本薪资:
500
请输入工作时数:
50
总薪资为$1000,时薪为$20.0/小时(最大总薪资不能超过
$1000)
请输入基本薪资:
0
请输入工作时数:
0
平均总薪资为:2250.0
平均基本工资为:1125.0
平均工作时数为:112.5
如果我手工计算平均值,则总工资应为
$550,基本工资应为
$250,工作时数应为
30
您不需要所有这些循环,也不需要使用double
包装器。一个循环就足够了,没有内部循环。就像,
double avgTotalPay = 0.0;
double avgBasePay = 0.0;
double avgHoursWworked = 0.0;
for (Double[] paym : payList) {
avgTotalPay += paym[0];
avgBasePay += paym[1];
avgHoursWworked += paym[2];
}
avgTotalPay /= payList.size();
avgBasePay /= payList.size();
avgHoursWworked /= payList.size();
或者,如果您使用的是Java8+,您可以使用stream
(s)这样的stream
)
double avgTotalPay = payList.stream().mapToDouble(x -> x[0]).average()
.orElse(0);
double avgBasePay = payList.stream().mapToDouble(x -> x[1]).average()
.orElse(0);
double avgHoursWworked = payList.stream().mapToDouble(x -> x[2]).average()
.orElse(0);
问题内容: 我有一个numpy的数组。我想创建一个新数组,该数组是每个连续三元组元素的平均值。因此,新数组将是原始数组大小的三分之一。 举个例子: 应该返回数组: 有人可以建议一种有效的方法吗?我在画空白。 问题答案: 如果数组的长度可被3整除: 重塑为高维数组,然后对附加维之一执行某种形式的归约运算是numpy编程的主要内容。
如何移除第一个数组但返回减去第一个元素的数组 在我的示例中,当删除第一个元素时,我应该得到
本文向大家介绍JavaScript数组中的第一个元素和最后一个元素?,包括了JavaScript数组中的第一个元素和最后一个元素?的使用技巧和注意事项,需要的朋友参考一下 数组是一组元素。每个元素都有其自己的 索引值。我们可以使用这些索引访问任何元素。但是,对于最后一个元素,直到知道数组中存在的元素数量,我们才知道索引。在这种情况下,我们必须使用逻辑。让我们简要地讨论这些细节。 访问第一个元素 因
我被分配了一项编程任务,但我被卡住了。其说明如下: 有一个名为“秘密圣诞老人”(给他们礼物)的游戏,有很多孩子参加。对于每个参与的孩子,都有一个来自参与孩子的秘密圣诞朋友。我必须编写一个程序,为每个参与的孩子挑选一个秘密的圣诞老人朋友。 示例:如果Bob,Alice,John和George是参与的孩子,在随机选择之后, 输出可能看起来像 具有相同输入的连续两次程序运行不应有相同的结果。 我的想法是
问题内容: 如果我有: 里面有双精度值,我应该怎么做才能将所有ArrayList元素加起来? 如? 问题答案: 两种方式: 使用索引: 使用“针对每个”样式:
返回数组中的每个第 n 个元素。 使用 Array.filter() 创建一个包含给定数组的每个第 n 个元素的新数组。 const everyNth = (arr, nth) => arr.filter((e, i) => i % nth === nth - 1); everyNth([1, 2, 3, 4, 5, 6], 2); // [ 2, 4, 6 ]