如果Do While
为0或时间为60 pulls
,我想结束此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);
答案 0 :(得分:1)
您想使用and
而不是or
,请注意while
循环,如果条件的计算结果为true,则会继续循环,但不会结束。
所以实际上你的条件是 - 而其中一个(anzahlPulls不为零)或(sek不是60)继续循环。 (即当其中一个条件为真时继续循环)
你实际上想要使用and
- 两个(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);
答案 1 :(得分:0)
你的逻辑错误了:
NOT(A或B)=(不是A)和(不是B)