java计算用户定义年数内四个季度的降雨量
我是Java新手,正在尝试做一项作业。。。但是我现在感觉很失落。我们还没有介绍数组,所以我们的词汇表有点有限
1.)修改当前代码,使其能够处理多年的降雨数据。为用户提供选项,以提供他们希望在计划中输入以进行评估的实际年数。该程序必须输出降雨量最多的年份(即第1年、第2年等)和总降雨量最少的年份
下面是我的代码:
import java.util.Scanner;
public class Test2OF
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
double[] rainfall = new double[4];
double totalRainfall = 0.0;
double max = 0, min = 0;
int year = scan.nextInt();
int maxQuarter = 1;
int minQuarter = 1;
// Prompt user for the number of years
System.out.println("Enter the number of years: ");
year = scan.nextInt();
for (int i=0; i < year*4; i++)
{
System.out.print("Enter rainfall for quarter " + (i+1) + ": ");
rainfall[i] = scan.nextDouble();
totalRainfall += rainfall[i];
if (i == 0)
{
max = min = rainfall[i];
}
{
if (rainfall[i] > max) {
max = rainfall[i];
maxQuarter = i + 1;
}
if (rainfall[i] < min) {
min = rainfall[i];
minQuarter = i + 1;
}
}
}
System.out.println("Total rainfall = "+totalRainfall);
System.out.println("Average rainfall = "+(totalRainfall / 4.0));
System.out.println("Max quarter rainfall = "+ max);
System.out.println("Min quarter rainfall = " + min);
System.out.println("Max quarter rainfall = "+ maxQuarter);
System.out.println("Min quarter rainfall = " + minQuarter);
}//end main
}//end class
在编译时,当我尝试输入第5季度的数据时,会出现此异常
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4
at Test2OF.main(Test2OF.java:22)
我也不知道如何确定哪一年年底降雨量最多/最少
谢谢你的帮助!多谢各位
# 1 楼答案
问题:
你的
rainfall
只有4号,这意味着它只适合有4个季度的1年解决方案:
您需要计算指定年份数的季度数,然后使用
year*4
调整数组大小示例:
编辑:
# 2 楼答案
若你们从用户那个里得到了大小,那个么你们为什么要初始化呢
在用户提供大小后提供大小,如
new double[year];
# 3 楼答案
我一开始就注意到的第一件事是
不要给年份赋值
至于其余的我不知道我是否想在这方面帮助你。帮助你是不道德的,因为这是为了学习。请注意,告诉你的教授你无法完成作业是完全可以的,他会比互联网提供更好的帮助
从iPad发送,请原谅拼写和大写错误