Java实现循环循环

时间:2016-07-07 12:12:08

标签: java loops

假设我有1到5之间的数字,我想在以下时间之间实现简单的循环:

decreaseincrease新值之后检查1到5之间(即边界条件是循环的,所以),

如果大于5则必须为0 如果它小于0那么必须是5

如果它不大于5且不小于0,那么值可以decreaseincrease

它在两个数字之间循环,我的代码似乎不正确

/* listCount is 5 */
/* currentPosition is 1 */

/* sample( currentPosition -- ) */
protected void sample(int position) {
    if (position < 0 && position < listCount)
        position = 5;
    else if (position >= listCount)
        position = 0;
    else
        currentPosition = position;
}
此代码中的

currentPosition --为0,那么必须为5,否则可以减少

了解更多信息:

增加位置直到它不是6.如果它> 5则必须是0,或者减少位置直到它不是0.如果它&lt; 1然后必须是5

2 个答案:

答案 0 :(得分:0)

此逻辑关闭

if (position < 0 && position < listCount)

如果position = 1它会将位置重置为5 - 这什么都不做。

我认为你想要的功能是:

protected void sample(int position) {
    if (position < 0) {
        currentPosition = 5;
    } else if (position >= listCount) {
        currentPosition = 0;
    } else {
        currentPosition = position;
    }
}

我建议单独增加和减少功能

protected void increase() {
    if (currentPosition == listCount) {
        currentPosition = minValue;
    } else {
        currentPosition++;
    }
}

protected void decrease() {
    if (currentPosition == minValue) {
        currentPosition = listCount;
    } else {
        currentPosition--;
    }
}

答案 1 :(得分:0)

我想,如果我理解正确,你想继续循环吗? 无论如何,这就是我从你关于'循环'的问题中删除评论中的信息。以两种不同的方法分割“循环”和“循环”是个好主意。循环,你可以使用这个:

public void increaseloop(int position)
{
    if(position > 5 || position < 0){
        position = 0;
    }
    for(; position <= 5; position++){
        System.out.println(position);
        if(position == 5){
            position = -1;
        }
    }
}

这将不断循环数字0,1,2,3,4,5。我确信,如果这实际上是您正在寻找的,您将能够实现该方法以循环。