[英]2 Statements with OR in a do while loop
我想结束这种Do While
循环,如果在pulls
是0或者时间是60 sek
。
但是,如果pulls
为 0,则循环不会停止。
do{
try
{
Thread.sleep(1000);
sek++;
System.out.println(sek);
}
catch(Exception e)
{
System.out.println(e);
}
db = new BdsPostgres( );
db.select(Result.SET_1, "SELECT * FROM connection_overview WHERE leitung="+leitung+" AND status='pull' ");
db.naechsterDatensatz(Result.SET_1);
anzahlPulls = db.leseZeilen(Result.SET_1);
db.schliessen();
} while (anzahlPulls != 0 || sek != 60);
您想使用and
而不是or
,请在while
循环中注意,如果条件评估为真,则继续循环,不结束循环。
所以实际上你的条件读作 - 而(anzahlPulls 不为零)或(sek 不是 60)继续循环。 (即当条件之一为真时继续循环)
您实际上想要使用and
- while(anzajlPulls 不为零)和(sek 不是 60)继续循环。 (即当条件之一变为假时中断循环)
示例代码 -
do{
try
{
Thread.sleep(1000);
sek++;
System.out.println(sek);
}
catch(Exception e)
{
System.out.println(e);
}
db = new BdsPostgres( );
db.select(Result.SET_1, "SELECT * FROM connection_overview WHERE leitung="+leitung+" AND status='pull' ");
db.naechsterDatensatz(Result.SET_1);
anzahlPulls = db.leseZeilen(Result.SET_1);
db.schliessen();
}while (anzahlPulls != 0 && sek != 60);
你的逻辑错了:
NOT (A OR B) = (NOT A) AND (NOT B)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.