我对java完全陌生,无法理解数组。下面的代码是我到目前为止的代码。我不确定我的计算是否正确,因为它没有打印出任何内容。关于如何使总数正常工作,有什么建议吗?如果它能与mean或stdev联系起来呢?还是我一直在做循环?
编写一个名为“降雨”的程序,将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");
}
}
2条答案
按热度按时间pdkcd3nj1#
问题是您的代码有很多错误。我已经修好了一些,但剩下的我相信你能修好
如果你觉得这个回答有帮助,你会投票给我的答案,这样我就可以帮助其他人(在这个论坛上得到其他人的帮助)。
提前谢谢
哦,输出看起来是这样的:
lsmd5eda2#
在java中,数组是否有一个函数来查找sum和mean以及stdev?
据我所知,不是所有的。但是有一个类可以让你计算
count, sum, average, min, and max
指一系列的值。它被称为DoubleSummaryStatistics
首先,声明该类的一个示例(您可以阅读javadoc以查看默认情况下这些初始值是什么)。然后,只需迭代您的值,如下所示。
完成后,可以使用类的getter打印适当的值。
印刷品
当您计算其他统计数据(如标准偏差)时(查看wiki中的各种算法),您还需要遍历数据。因此,在填充summary stats类时,使用与上面相同的循环并收集数据。