Java的落实执行时之间的简单循环的循环回路
假设我有1至5个数字,我想:Java的落实执行时之间的简单循环的循环回路
后decrease
或increase
新的价值,并检查1和5之间(即边界条件是循环的,使得)
如果其大于5然后必须是0 如果小于0则必须在5
如果其不大于5及其不小于0,则值可以decrease
或increase
。
它之间有两个号码循环,我的代码似乎其不正确
/* 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.如果它的< 1那么必须是5
这个逻辑看起来关闭
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--;
}
}
它似乎方法不能正常工作 –
我没有零循环 –
将0更改为一个名为'minValue'的变量,并将它设置为等于1 –
我想,如果我理解正确的话,要循环汽车无? 无论如何,这就是我正在从你关于'循环'的问题中去掉评论中的信息。以两种不同的方法分割“循环”和“循环”是一个好主意。要循环,你可以使用这个:
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。我相信,如果这实际上是你在寻找的东西,你也可以实现这个方法来循环。
请更好地解释一下自己,可能有一些输入/输出的例子。 – Idos
@Idos模拟两个数之间的简单循环,如果currentPosition是 5则必须是0,否则'currentPosition'可以'减少'或'增加' –
什么会改变位置?你是否需要布尔值,无论位置是否增加/减少?什么是最终目标? –