首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >需要在降雨统计程序方面的快速帮助

需要在降雨统计程序方面的快速帮助
EN

Stack Overflow用户
提问于 2014-10-28 02:36:57
回答 1查看 525关注 0票数 0

基本上,我在整理这个程序的过程中经历了相当艰难的一段时间,这个程序的目的是问用户他们想要看多少年的数据,基于这个输入,也就是显示了多少组12个月的随机双降雨值。

如果用户输入3年,那么输出应该是这样的:

输入年数:3

第一年雨量

第一个月降雨量为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。

第二年雨量

第一个月降雨量为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个月。

第三年雨量为

第一个月降雨量为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英寸

到目前为止,我所得到的是:

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

我只需要在循环中得到帮助,并弄清楚如何在每个月语句之后放置一个不同的随机双值。我知道我可能有一些不正常的事情,并错过了相当多,但我会感谢任何提示或提示。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-28 02:47:11

给定一个最大的雨水maxRainfall (这将是一个final变量),您可以使用java.util.RandomnextDouble函数得到一个随机小数,并将其乘以您的maxRainfall

代码语言:javascript
运行
复制
double monthRainfall = generator.nextDouble() * maxRainfall

然后,您可以随意使用新的随机双,这将在0maxRainfall之间。

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

代码语言:javascript
运行
复制
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
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26600029

复制
相关文章

相似问题

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