我有一种方法可以根据用户输入的月份数组计算最小和最大降雨量。我的问题是我的方法返回最小值和最大值的数量,我需要它返回降雨量最高或最低的月份。我不知道如何将我的最小和最大方法与月份数组进行比较。我想如果我可以说最小值是在索引 5 处找到的,那么也有办法拉出月份数组的索引 5。
我尝试了多种类型的 for 循环和嵌套 for 循环,但似乎无法获得正确的月份。
public static void main(String[] args) {
String[] months = {"January", "February", "March","April","May","June","July","August","September","October","November","December"};
double[] rainfall = new double[months.length];
Rainfall amazon = new Rainfall();
//scanner to get user input
Scanner scanner = new Scanner(System.in);
//for loop to iterate through the months to get user input of rainfall each month
for(int i = 0; i<rainfall.length; i++) {
System.out.println("How much rainfall did you recieve, in inches, for the month of: " + months[i]);
rainfall[i] = scanner.nextDouble();
//while statement to reject negative numbers
while(rainfall[i] < 0) {
System.out.println("You can not enter a negative number");
System.out.println("How much rainfall did you recieve for the month of: " + months[i]);
rainfall[i] = scanner.nextDouble();
}
}
System.out.println("total rainfall: " + amazon.getTotalRainfall(rainfall) +
" average Rainfall: " + amazon.getAverageRainfall(rainfall) +
" min: " + amazon.getMinRainfall(rainfall) +
" max: " + amazon.getMaxRainfall(rainfall));
}
public double getMaxRainfall(double[] rainfall) {
double max = rainfall[0];
for(int i = 1; i < rainfall.length; i++)
if(rainfall[i] > max) {
max = rainfall[i];
}
return max;
}
public double getMinRainfall(double[] rainfall) {
double min = rainfall[0];
for(int i = 1; i < rainfall.length; i++)
if(rainfall[i] < min) {
min = rainfall[i];
}
return min;
}
我需要知道降雨量最高和最低的月份
眼眸繁星
智慧大石
温温酱
Cats萌萌
相关分类