我需要获取三个并行数组的最大总和的索引,才能显示降雪量最大的年份。我可能会全都错了。有人可以解释这个过程或给我一些建设性的反馈吗?到目前为止,这就是我所拥有的。我只是一直在玩代码来尝试解决它。我知道有很多方法,但是希望初学者能理解一些简单的方法。谢谢你的时间。
public class tempSnowfall {
public static void main(String[] args) {
String[] years =
{
"1952", "1953", "1954", "1955",
"1956", "1957", "1958", "1959",
"1960", "1961", "1962", "1963",
"1964", "1965", "1966", "1967",
"1968", "1969", "1970", "1971",
"1972", "1973", "1974", "1975",
"1976", "1977", "1978", "1979",
"1980", "1981", "1982", "1983",
"1984", "1985", "1986", "1987",
"1988", "1989", "1990", "1991",
"1992", "1993", "1994", "1995",
"1996", "1997", "1998", "1999",
"2000", "2001", "2002", "2003",
"2004", "2005", "2006", "2007",
"2008", "2009", "2010", "2011",
"2012", "2013", "2014", "2015",
"2016"
};
double snowJan[] =
{
3.9, 0.0, 0.0, 2.8,
0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0,
0.0, 5.3, 0.0, 2.0,
0.5, 7.2, 4.5, 8.5,
6.0, 1.0, 1.3, 0.3,
1.5, 0.0, 8.0,17.5,
0.0, 3.5, 1.0, 3.0,
3.3,30.5, 0.0, 0.0,
0.0, 4.6, 0.0, 1.8,
0.0, 2.5, 2.1, 0.0,
0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0,
0.7, 0.0, 7.2, 1.1,
0.2, 0.3, 5.2, 2.0,
1.2, 0.4, 0.0,11.5,
9.9
};
double snowFeb[] =
{
0.0, 0.0, 0.0, 5.5,
0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0,
0.0, 5.3, 0.0, 2.0,
0.5, 7.2, 4.5, 8.5,
6.0, 1.0, 1.3, 0.3,
1.5, 0.0, 8.0,17.5,
0.0, 3.5, 1.0, 3.0,
3.3,30.5, 0.0, 0.0,
0.0, 4.6, 0.0, 1.8,
0.0, 2.5, 2.1, 0.0,
0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0,
0.7, 0.0, 7.2, 1.1,
0.2, 0.3, 5.2, 2.0,
1.2, 0.4, 0.0,11.5,
9.9
};
double snowMar[] =
{
2.9, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 3.5,
0.0, 0.6, 0.0, 0.0,
2.0, 0.0, 0.0, 0.6,
2.0, 0.5, 0.0, 0.0,
4.0, 0.0, 0.0, 4.0,
0.0, 2.5, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0,
0.8, 0.0, 1.7, 3.5,
2.5, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0,
0.0, 0.8, 0.0, 0.0,
3.2, 0.3, 0.0, 0.0,
0.0, 1.3, 3.1, 4.0,
0.0
};
double sum = 0;
double largest = 0;
for (int i = 0; i < years.length; i++)
{
sum = (snowJan[i] + snowFeb[i] + snowMar[i]);
if(sum > largest)
{
largest = sum;
}
}
System.out.println(largest);
}
}
您将需要保留最大值所在位置的索引(在您的情况下i
)
double sum = 0;
double largest = 0;
int index = 0;
for (int i = 0; i < years.length; i++)
{
sum = (snowJan[i] + snowFeb[i] + snowMar[i]);
if(sum > largest)
{
largest = sum;
index = i;
}
}
System.out.printf("%f amount of snow fell in %s %n", largest, years[index]);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句