首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >java for -每个循环用于部分数组

java for -每个循环用于部分数组
EN

Stack Overflow用户
提问于 2013-11-07 16:01:24
回答 6查看 2.4K关注 0票数 1

我知道如何使用for-each循环循环整个数组,如下所示:

代码语言:javascript
运行
复制
for(int d : arrayname){
    do something

但是,如何使用for-每一个循环来循环一个部分数组,就像我试图做的那样,使用for-每一个循环只在5-10月份循环,即4-9来计算热指数。下面是我的代码片段,它显示了我想要做的事情:

代码语言:javascript
运行
复制
// 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月

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-11-07 16:04:10

代码语言:javascript
运行
复制
double[] mayOctober = Arrays.copyOfRange(KeyWestHumid, 4, 9);

让mayOctober按你的要求去做。

顺便说一句,在这种情况下,我们更倾向于使用传统的循环。

票数 5
EN

Stack Overflow用户

发布于 2013-11-07 16:04:03

您正在使用增强的for循环,您可以只使用常规的for循环来实现您想要的结果。

代码语言:javascript
运行
复制
for(int i=START; i<=END;i++){
     //do work
}

在你的例子中,它很可能看起来像

代码语言:javascript
运行
复制
int sumOfHumidity=0
for(int month i=4; i<=9;i++){
     sumOfHumidity+=KeyWestHumid[month]
}

然后使用sumOfHumidity,无论您认为合适。

其他注释

  • KeyWestHumid是一个变量,因此它应该是lowerCamelCase,所以keyWestHumid,对于keyWestTemp也是如此
  • 硬编码4和9可能是不可取的,但如果不知道确切的程序结构,很难进一步建议使用变量startMonthendMonth可能是可取的,允许使用这两个变量计算numberOfMonths (我希望您可以从sumOfHumidity中创建平均值)。
票数 5
EN

Stack Overflow用户

发布于 2013-11-07 16:04:38

您可以使用普通的for循环:

代码语言:javascript
运行
复制
for(int month=4; month<=9; month++){
 KeyWestHumid[month].something();
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19840648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档