繁体   English   中英

需要有关降雨统计程序的快速帮助

[英]Need quick help on rainfall statistics program

基本上,我花了相当长的时间来编写该程序,该程序旨在询问用户他们想要查看多少年的数据,并基于该输入,得出多少套12个月的随机双降雨值显示。

如果用户输入了3年,则输出应该是这样:

输入年数:3

第一年的降雨量是

第1个月的降雨量为4.16第2个月的降雨量为6.85第3个月的降雨量为1.28第4个月的降雨量为1.66第5个月的降雨量为3.06第6个月的降雨量为4.62第7个月的降雨量为5.69第8个月的降雨量为1.84第9个月降雨量为9.63个月10降雨量为8.60个月11降雨量为3.34个月12降雨量为1.27

第2年的降雨量是

第1个月的降雨量为4.38第2个月的降雨量为4.64第3个月的降雨量为8.27第4个月的降雨量为3.19第5个月的降雨量为6.69第6个月的降雨量为4.13第7个月的降雨量为8.52第8个月的降雨量为5.71第9个月降雨量为3.91个月10降雨量为9.16个月11降雨量为3.47个月12降雨量为7.90

第三年的降雨量是

第1个月的降雨量为2.73第2个月的降雨量为2.92第3个月的降雨量为7.98第4个月的降雨量为2.82第5个月的降雨量为3.73第6个月的降雨量为3.00第7个月的降雨量为0.14第8个月的降雨量为9.98第9个月降雨量为5.34个月10降雨量为8.12个月11降雨量为8.66个月12降雨量为4.21

月数:36总降雨量:181.62英寸月平均降雨量:5.04英寸

到目前为止,我有:

import java.util.*;


/**
  This class creates a program that finds the amount of rainfall for each year
*/
public class RainfallStats {
/**
  The main method is the program's starting point 
*/
public static void main(String[] args){

  int years = 0;
  double months = 0;
  final int numberMonths = 12;

  Scanner keyboard = new Scanner(System.in);
    Random generator = new Random();

  System.out.println("Enter the number of years: ");
  years = keyboard.nextInt();

  while (years <1){
     System.out.println("Invalid. Enter at least one year");
     years = keyboard.nextInt();
  }

  for (int y = 1; y <= years; y++){

      System.out.println("Year " + y + " rainfall amounts were");
      System.out.println();
  }    

     for (int m = 1; m <= numberMonths; m++){

        System.out.println("Month " + m + " rainfall amount was ");

我只需要循环中的帮助,并弄清楚如何在每个month语句之后放置不同的随机double值。 我知道我可能有一些乱七八糟的东西,并且遗漏了很多,但是我会很感激任何提示或技巧。 谢谢!

给定最大雨量maxRainfall ,这将是final变量,您可以使用java.util.RandomnextDouble函数获得随机十进制数,并将其乘以maxRainfall

double monthRainfall = generator.nextDouble() * maxRainfall

然后,您可以使用该新的随机双maxRainfall进行任意操作,该值介于0maxRainfall之间

要输出适当年份后的月份,而不是所有年份然后是所有月份,请将for循环嵌套在for年份的月份中:

for (int y = 1; y <= years; y++)
{
    System.out.println("Year " + y + " rainfall amounts were");
    System.out.println();
    for (int m = 1; m <= numberMonths; m++)
    {
        System.out.println("Month " + m + " rainfall amount was ");
        //Code to generate random double here
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM