对于java来说,我对理解数组完全陌生。下面的代码是我到目前为止所掌握的。我不确定我是否做对了,因为它没有打印出任何东西。对如何计算金额有什么建议吗?如果它可以被绑在卑鄙或stdev身上呢?还是我一直在做循环?
编写一个名为RainFall的程序,将每年12个月的总降雨量存储到一个双倍数组中。程序应显示以下内容:
一年中的总降雨量。
月平均降雨量。
月降雨量的标准差。假设一年是人口。
雨量最多的月份和它的价值。如果超过一个月有最大值,则只打印第一次出现。
雨量最少的月份和它的价值。如果超过一个月有最小值,则只打印第一次出现。
{
public static void main(String[] args)
{
String[] monthName = {"January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"}; //declare the month
double[] rainfallSize = {11.5, 11.2, 11.4, 0.7, 0.5, 0.1,
0.1, 0.0, 1.2, 4.3, 7.9, 8.1}; // declare the rainfall size
double Rain[] = {11.5, 11.2, 11.4, 0.7, 0.5, 0.1,
0.1, 0.0, 1.2, 4.3, 7.9, 8.1};
double Rain = 0;
for(double i : Rain)
{sum += i;}
for
(
int i = 0; i <=11; i++
)
System.out.printf("Month: %s, Rainfall amount: %.1f mm \n", monthName[i], rainfallSize[i]);
System.out.printf("Total Rainfall Yearly: \n", Rain);
System.out.printf("Average montly Rainfall: \n");
System.out.printf("Max Value: \n");
System.out.printf("Min value: \n");
}
}
发布于 2021-07-06 20:13:05
问题是您的代码有许多错误。我已经修好了一些,但剩下的我相信你会想出来的。
public class Rainfalls {
public static void main(String[] args) {
String[] monthName = { "January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December" }; // declare the month
double[] rainfallSize = { 11.5, 11.2, 11.4, 0.7, 0.5, 0.1, 0.1, 0.0, 1.2, 4.3, 7.9, 8.1 }; // declare the
// rainfall size
double total_rain = 0;
for (double i : rainfallSize) {
total_rain += i;
}
for (int i = 0; i <= 11; i++) {
System.out.printf("Month: %s, Rainfall amount: %.1f mm \n", monthName[i], rainfallSize[i]);
}
// calculate average monthly rainfall
System.out.printf("Average montly Rainfall: \n");
System.out.printf("Total Rainfall Yearly: \n", total_rain);
// calculate max monthly rainfall
System.out.printf("Max Value: \n");
// calculate min monthly rainfall
System.out.printf("Min value: \n");
}
}
如果你觉得这个答复有帮助,你会不会提出答案,以便我可以帮助别人(&在这个论坛上得到其他人的帮助)。
提前感谢
哦,输出看起来是这样的:
Month: January, Rainfall amount: 11.5 mm
Month: February, Rainfall amount: 11.2 mm
Month: March, Rainfall amount: 11.4 mm
Month: April, Rainfall amount: 0.7 mm
Month: May, Rainfall amount: 0.5 mm
Month: June, Rainfall amount: 0.1 mm
Month: July, Rainfall amount: 0.1 mm
Month: August, Rainfall amount: 0.0 mm
Month: September, Rainfall amount: 1.2 mm
Month: October, Rainfall amount: 4.3 mm
Month: November, Rainfall amount: 7.9 mm
Month: December, Rainfall amount: 8.1 mm
Average montly Rainfall:
Total Rainfall Yearly:
Max Value:
Min value:
发布于 2021-07-06 23:53:36
中是否有一个数组的函数来查找java中的和、平均值和stdev?
据我所知并不是所有的人。但是有一个类可以让您计算一系列值的count, sum, average, min, and max
。它被称为DoubleSummaryStatistics
DoubleSummaryStatistics dss = new DoubleSummaryStatistics();
然后,
for (double rainFall : rainfallSize) {
dss.accept(rainFall);
}
完成后,可以使用类的getter打印适当的值。
System.out.printf("Total Rainfall Yearly: %.2f mm%n",
dss.getSum());
System.out.printf("Average monthly Rainfall: %.2f mm%n",
dss.getAverage());
System.out.printf("Max Value: %.2f mm%n", dss.getMax());
System.out.printf("Min value: %.2f mm%n", dss.getMin());
版画
Total Rainfall Yearly: 57.00 mm
Average monthly Rainfall: 4.75 mm
Max Value: 11.50 mm
Min value: 0.00 mm
当您计算其他统计数据,如标准偏差(检查Wiki中的各种算法)时,您还需要在数据中迭代。因此,您将使用与上面相同的循环,并在填充汇总stats类时收集数据。
https://stackoverflow.com/questions/68276584
复制相似问题