首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在java中是否有一个数组的函数来查找和、平均值和stdev。

在java中是否有一个数组的函数来查找和、平均值和stdev。
EN

Stack Overflow用户
提问于 2021-07-06 19:43:06
回答 2查看 84关注 0票数 0

对于java来说,我对理解数组完全陌生。下面的代码是我到目前为止所掌握的。我不确定我是否做对了,因为它没有打印出任何东西。对如何计算金额有什么建议吗?如果它可以被绑在卑鄙或stdev身上呢?还是我一直在做循环?

编写一个名为RainFall的程序,将每年12个月的总降雨量存储到一个双倍数组中。程序应显示以下内容:

一年中的总降雨量。

月平均降雨量。

月降雨量的标准差。假设一年是人口。

雨量最多的月份和它的价值。如果超过一个月有最大值,则只打印第一次出现。

雨量最少的月份和它的价值。如果超过一个月有最小值,则只打印第一次出现。

代码语言:javascript
运行
复制
{
    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");

    }
    
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-07-06 20:13:05

问题是您的代码有许多错误。我已经修好了一些,但剩下的我相信你会想出来的。

代码语言:javascript
运行
复制
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");

    }

}

如果你觉得这个答复有帮助,你会不会提出答案,以便我可以帮助别人(&在这个论坛上得到其他人的帮助)。

提前感谢

哦,输出看起来是这样的:

代码语言:javascript
运行
复制
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: 
票数 0
EN

Stack Overflow用户

发布于 2021-07-06 23:53:36

中是否有一个数组的函数来查找java中的和、平均值和stdev?

据我所知并不是所有的人。但是有一个类可以让您计算一系列值的count, sum, average, min, and max。它被称为DoubleSummaryStatistics

  • 首先声明类的一个实例(您可以读取JavaDoc来查看这些初始值在默认情况下是什么)。

代码语言:javascript
运行
复制
DoubleSummaryStatistics dss = new DoubleSummaryStatistics();

然后,

  • 遍历您的值,如下所示。

代码语言:javascript
运行
复制
for (double rainFall : rainfallSize) {
          dss.accept(rainFall);
}

完成后,可以使用类的getter打印适当的值。

代码语言:javascript
运行
复制
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());

版画

代码语言:javascript
运行
复制
Total Rainfall Yearly: 57.00 mm
Average monthly Rainfall: 4.75 mm
Max Value: 11.50 mm
Min value: 0.00 mm

当您计算其他统计数据,如标准偏差(检查Wiki中的各种算法)时,您还需要在数据中迭代。因此,您将使用与上面相同的循环,并在填充汇总stats类时收集数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68276584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档