簡體   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