首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果在循环中数组的某个元素上,执行X操作

如果在循环中数组的某个元素上,执行X操作
EN

Stack Overflow用户
提问于 2014-09-05 13:33:59
回答 2查看 40关注 0票数 0

如果一个循环在数组的某个元素上,有没有一种方法可以看到,去做一个特定的动作?

假设我在循环中数组的第一个元素上,将一个标志设置为false?

例如)

代码语言:javascript
复制
        int carry = 1;
    int arraySum[] = new int[NUM_DIGITS];
    boolean carryFlag = false;
    for(int i = NUM_DIGITS - 1; i >= 0; i--){  

        arraySum[i] = array1[i] + array2[i];
        if(carryFlag){
            arraySum[i] += carry;
            carryFlag = false;
        }

        //if on the last iteration/element of the array,
        //arraySum[0], carryFlag = false; and continue;

        if(arraySum[i] > 9){ 
            arraySum[i] = arraySum[i] - 10;
            carryFlag = true;
        }                           
    }    

如果我的问题听起来很模糊,很抱歉..但是,如果有一种方法可以使其行为像布尔值: if(arraySum) carryFlag = false

EN

回答 2

Stack Overflow用户

发布于 2014-09-05 13:38:10

我建议删除该标志并为carry设置不同的值

代码语言:javascript
复制
int carry = 0;
int arraySum[] = new int[NUM_DIGITS];
for(int i = NUM_DIGITS - 1; i >= 0; i--){  
    arraySum[i] = array1[i] + array2[i] + carry;

    // check for carry
    if(arraySum[i] > 9){ 
        arraySum[i] -= 10;
        carry = 1;
    } else {
        carry = 0;
    }
}

循环退出后,如果carry不为0,则求和溢出。

票数 1
EN

Stack Overflow用户

发布于 2014-09-05 13:36:07

在这个实现中,您似乎可以测试i的值

if (i==NUM_DIGITS) carryFlag = false;这样的?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25679188

复制
相关文章

相似问题

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