我知道如何使用for-each循环循环整个数组,如下所示:
for(int d : arrayname){
do something
但是,如何使用for-每一个循环来循环一个部分数组,就像我试图做的那样,使用for-每一个循环只在5-10月份循环,即4-9来计算热指数。下面是我的代码片段,它显示了我想要做的事情:
// create array for KeyWestTemp
double[] KeyWestTemp;
KeyWestTemp = new double[12];
// initialize array
KeyWestTemp[0] = 70.3;
KeyWestTemp[1] = 70.8;
KeyWestTemp[2] = 73.8;
KeyWestTemp[3] = 77.0;
KeyWestTemp[4] = 80.7;
KeyWestTemp[5] = 83.4;
KeyWestTemp[6] = 84.5;
KeyWestTemp[7] = 84.4;
KeyWestTemp[8] = 83.4;
KeyWestTemp[9] = 80.2;
KeyWestTemp[10] = 76.3;
KeyWestTemp[11] = 72.0;
// create array for KeyWestHumid
int[] KeyWestHumid;
KeyWestHumid = new int[12];
// initialize array
KeyWestHumid[0] = 69;
KeyWestHumid[1] = 67;
KeyWestHumid[2] = 66;
KeyWestHumid[3] = 64;
KeyWestHumid[4] = 66;
KeyWestHumid[5] = 69;
KeyWestHumid[6] = 67;
KeyWestHumid[7] = 67;
KeyWestHumid[8] = 70;
KeyWestHumid[9] = 69;
KeyWestHumid[10] = 69;
KeyWestHumid[11] = 70;
// for-each loop for calculating heat index of May - October
是1月11日是12月
发布于 2013-11-07 16:04:10
double[] mayOctober = Arrays.copyOfRange(KeyWestHumid, 4, 9);
让mayOctober按你的要求去做。
顺便说一句,在这种情况下,我们更倾向于使用传统的循环。
发布于 2013-11-07 16:04:03
您正在使用增强的for循环,您可以只使用常规的for循环来实现您想要的结果。
for(int i=START; i<=END;i++){
//do work
}
在你的例子中,它很可能看起来像
int sumOfHumidity=0
for(int month i=4; i<=9;i++){
sumOfHumidity+=KeyWestHumid[month]
}
然后使用sumOfHumidity
,无论您认为合适。
其他注释
KeyWestHumid
是一个变量,因此它应该是lowerCamelCase,所以keyWestHumid
,对于keyWestTemp
也是如此startMonth
和endMonth
可能是可取的,允许使用这两个变量计算numberOfMonths
(我希望您可以从sumOfHumidity
中创建平均值)。发布于 2013-11-07 16:04:38
您可以使用普通的for循环:
for(int month=4; month<=9; month++){
KeyWestHumid[month].something();
}
https://stackoverflow.com/questions/19840648
复制相似问题