基本上,我在整理这个程序的过程中经历了相当艰难的一段时间,这个程序的目的是问用户他们想要看多少年的数据,基于这个输入,也就是显示了多少组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英寸
到目前为止,我所得到的是:
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 ");
我只需要在循环中得到帮助,并弄清楚如何在每个月语句之后放置一个不同的随机双值。我知道我可能有一些不正常的事情,并错过了相当多,但我会感谢任何提示或提示。谢谢!
发布于 2014-10-28 02:47:11
给定一个最大的雨水maxRainfall
(这将是一个final
变量),您可以使用java.util.Random
的nextDouble
函数得到一个随机小数,并将其乘以您的maxRainfall
。
double monthRainfall = generator.nextDouble() * maxRainfall
然后,您可以随意使用新的随机双,这将在0
和maxRainfall
之间。
若要输出适当年份后的月份,而不是所有年份,而是所有月份,请将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
}
}
https://stackoverflow.com/questions/26600029
复制相似问题