gpt4 book ai didi

java - 尝试获取正确的月份以显示最高和最低值

转载 作者:行者123 更新时间:2023-12-02 03:13:53 25 4
gpt4 key购买 nike

我能够获得正确的最高和最低值,但它没有将正确的月份与该值放在一起。以下是 RainFall 类和 Rainfall 程序。以下是我输入的值(2.1、1.7、3.5、2.6、3.7、1.6、3.9、2.6、2.9、4.3、2.4、3.7)。我将在最后展示结果。

/**
* RainFall class
*/

public class RainFall
{
private double[] rainValue; //Rain entered by user
private int months = 12; //Number of months in a year
/**
* Constructor
*/

public RainFall(double[] rainArray)
{
rainValue = rainArray;
}
/**
* The getRainSum method returns the sum of all
* rainfall for the year.
*/
public double getRainSum()
{
double sum = 0.0; //Accumulator

//Get sum of all values in the rain array.
for (double value : rainValue)
sum += value;

return sum;


}

/**
*The get RainAverage method returns the monthly
*rainfall average.
*/
public double getRainAverage()
{
return getRainSum() / months;
}

/**
* The getRainHighest method returns the highest
* rainfall month for the year.
*/
public double getRainHighest()
{
double highest = rainValue[0]; //Get value at index 0

//Search array for the highest value.
for(int index = 1; index < rainValue.length; index++)
{
if (rainValue[index] > highest)
highest = rainValue[index];
}
return highest; // return highest value
}

/**
* The getRainLowest method returns the lowest
* rainfall month for the year
*/
public double getRainLowest()
{
double lowest = rainValue[0]; //Get value at index 0

//Search array for the lowest value.
for (int index = 1; index < rainValue.length; index++)
{
if (rainValue[index] < lowest)
lowest = rainValue[index];
}
return lowest; //return lowest value
}

}

测试程序:

/**
* This program demonstrates the RainFall class.
*/
public class RainTest {

public static void main(String[] args)
{

String[] months = { "January", "February", "March",
"April", "May", "June", "July",
"August", "September", "October",
"November", "December" }; //Months of the year

//Crate an array to hold the rain values
double[] rain = new double[12];

//Create a Scanner object for keyboard input.
Scanner keyboard = new Scanner(System.in);
//Get rain values and store them
//in the rain array
for (int index = 0; index < months.length; index++)
{
System.out.print("Enter rain value for " + months[(index)] + ":");
rain[index] = keyboard.nextDouble();
if (rain[index] <0)
{
System.out.println("You can not use a negative number.\n");
index--;
}

}

/**
* Create a RainFall object, passing the rain array
* as an argument to the constructor.
*/
RainFall myRainFall = new RainFall(rain);

//Display total rainfall
System.out.println("The total rainfall for the year is: " + myRainFall.getRainSum());

//Display average rainfall
System.out.println("The average rainfall for the year is: " + myRainFall.getRainAverage());

//Display highest rainfall

System.out.println("The month with the highest rainfall was " + months[(int) myRainFall.getRainHighest() -1] +" with "
+ myRainFall.getRainHighest() +" inches.");

//Display lowest rainfall

System.out.println("The month with the lowest rainfall was " + months[(int) myRainFall.getRainLowest() -1] + " with "
+ myRainFall.getRainLowest() +" inches.");

}

}

结果如下:

Enter rain value for January:2.1
Enter rain value for February:1.7
Enter rain value for March:3.5
Enter rain value for April:2.6
Enter rain value for May:3.7
Enter rain value for June:1.6
Enter rain value for July:3.9
Enter rain value for August:2.6
Enter rain value for September:2.9
Enter rain value for October:4.3
Enter rain value for November:2.4
Enter rain value for December:3.7
The total rainfall for the year is: 35.0
The average rainfall for the year is: 2.9166666666666665
The month with the highest rainfall was April with 4.3 inches.
The month with the lowest rainfall was January with 1.6 inches.

正如您所看到的,最高月份应该是十月而不是四月,最低月份应该是六月而不是一月。

预先感谢您提供的任何帮助。

最佳答案

您的问题是 getRainLowest 返回最低月份的降雨量,而不是最低月份的索引。因此,以下表达式没有意义:

months[(int) myRainFall.getRainLowest() - 1]

您基本上需要定义一种不同的方法,该方法给出最低月份的指数,而不是最低月份的降雨量。最高月份也同样如此。

关于java - 尝试获取正确的月份以显示最高和最低值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40621353/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com