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

时间:2014-10-28 02:36:57

标签: java loops for-loop while-loop

基本上我把这个程序放在一起非常粗糙,这个程序旨在询问用户他们想要看多少年的数据,并根据这个输入,即12个月的随机双倍数显示降雨量值。

如果用户输入3年,这就是输出的样子:

输入年数:3

第1年的降雨量是

第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

3年级降雨量

第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 ");

我只需要循环中的帮助,并找出如何在每个月份语句后放置不同的随机双精度值。我知道我可能有些东西不按顺序而且很少丢失,但我会很感激任何提示或提示。谢谢!

1 个答案:

答案 0 :(得分:0)

如果最大雨量为maxRainfall,这将是final变量,您可以使用nextDouble java.util.Random函数获取随机小数,并将其相乘通过maxRainfall

double monthRainfall = generator.nextDouble() * 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
    }
}