我的循环下面是一个条件com.liferay.portlet.journal.service.JournalArticleResourceLocalService
,我只是想知道它最终是一个无限循环。
while
答案 0 :(得分:4)
将or
更改为and
,因为您的条件始终为True
。
while count != 12 and count != 6:
count
不能同时为12
和6
,因此其中一个表达式始终为True。
可以使用De Morgan's laws
解释此表达式
在Python中,这将是
not (p or q) == (not p) and (not q)
答案 1 :(得分:1)
与提及的其他内容一样,您需要and
而不是or
。
原因是当你的循环计数时,你会得到以下结果:
1 != 6 or 12
2 != 6 or 12
...
6 == 6 but != 12 # keeps going
7 != 6 or 12
...
12 != 6 but == 12 # keeps going
...
# infinite loop.