Java 有没有办法忽略for循环中的计数器?
如果某个条件适用,我希望for循环不执行I++操作Java 有没有办法忽略for循环中的计数器?,java,for-loop,Java,For Loop,如果某个条件适用,我希望for循环不执行I++操作 for (int i = 0; i < r; i++) { for (int j = 0; j < c; j = j+2) { int n = (int)(Math.random()*(474))+1; if(!myList.contains(n)) { myList.add(n);
for (int i = 0; i < r; i++) {
for (int j = 0; j < c; j = j+2) {
int n = (int)(Math.random()*(474))+1;
if(!myList.contains(n)) {
myList.add(n);
myList.add(n);
}
else {
//Do not do i++ and j = j+2
}
}
}
for(int i=0;i
您需要将i++从迭代器插槽中移出。不需要完全限定for()语句。例如,for(;;)在java中是合法的
for (int i = 0; i < r; ) {
for (int j = 0; j < c; j = j+2) {
int n = (int)(Math.random()*(474))+1;
if(!myList.contains(n)) {
myList.add(n);
myList.add(n);
i++;
}
else {
//Do not do i++ and j = j+2
}
}
}
for(int i=0;i
如果某个条件适用,我希望for循环不执行I++操作
for (int i = 0; i < r; i++) {
for (int j = 0; j < c; j = j+2) {
int n = (int)(Math.random()*(474))+1;
if(!myList.contains(n)) {
myList.add(n);
myList.add(n);
}
else {
//Do not do i++ and j = j+2
}
}
}
然后,您可能不希望for
循环,您可能希望while
只在不希望for
循环的相反条件下递增。我会举一个例子,但不清楚您希望内部循环的条件如何影响外部循环。其一般形式为:
int i = 0;
while (i < limit) {
if (/* Condition where you should increment */) {
++i;
}
}
inti=0;
while(i
小心这种情况,以确保你不会无休止地循环
或者有时倒循环是一个更好的选择,但我认为这不适用于这种情况。for(int I=0;Ifor (int i = 0; i < r; ) {
for (int j = 0; j < c; ) {
int n = (int)(Math.random()*(474))+1;
if(!myList.contains(n)) {
myList.add(n);
myList.add(n);
i++;
j = j+2;
}
}
}
对于(int j=0;jfor( int i = 0; i < r; cond ? i++ : i )
{
....
}
for(int i=0;i
您可以只使用一个while循环,然后只在需要时增加计数器。我如何对这两个for循环执行此操作?@user3472686:这完全取决于您希望它们如何关联,这就是为什么我无法使用两个循环执行示例的原因。根本不清楚您希望内部循环中的条件(在每个外部循环的迭代中重复多次)如何决定外部循环的计数器是否递增。但从根本上说,它归结为:在适当的时候增加计数器。其余部分是特定于问题的逻辑。