永久 While 循环 Java [重复]
Posted
技术标签:
【中文标题】永久 While 循环 Java [重复]【英文标题】:Permanent While loop Java [duplicate] 【发布时间】:2016-07-01 06:54:40 【问题描述】:我一直在努力处理我的 while 循环,想知道你们是否能看出我的逻辑有问题。
项目的概念
创建一台机器,它将在其存在的其余部分永久循环通过一堆代码。基本上我正在制作一个自动喂猫器,它会在白天的特定时间分配食物。这就是为什么循环必须是永久性的。
到目前为止,这是我的基本代码:
DateFormat dateFormat = new SimpleDateFormat("HH:mm"); // 1.
Calendar cal = Calendar.getInstance(); // 2.
String CurrentTime = dateFormat.format(cal.getTime()); // 3.
jTextArea2.setText(CurrentTime);
String FeedTimeMorning = "06:00";
String FeedTimeSnack = "19:07";
String FeedTimeMidday = "12:30";
boolean TempFeed = false;
while(TempFeed=false)
if (FeedTimeMorning.equals(CurrentTime)) txaOne.setText("FeedCats"+" " +CurrentTime);
if (FeedTimeSnack.equals(CurrentTime))txaOne.setText("FeedCats"+" " +CurrentTime);
if(FeedTimeMidday.equals(CurrentTime))txaOne.setText("FeedCats"+" " +CurrentTime);
到了指定时间,“喂猫”的文字不会出现。
任何帮助将不胜感激。
【问题讨论】:
如果它必须是永久的,那么为什么不无限循环呢?while(true)
while(TempFeed==false)
或 while(true)
可以在这里工作。
没想到..谢谢大佬
请阅读Java naming conventions。它会让你的代码更具可读性。
使用while(true)
。写while(TempFeed==false)
是对编码标准的再教育的一个安静的请求。
【参考方案1】:
一个等于 (=
) 是赋值,而两个 (==
) 是相等,这个
while(TempFeed=false)
应该是一个的
while(TempFeed==false)
或 较短 boolean
否定(完全省略=
)喜欢
while(!TempFeed)
使用一个=
,它将false
分配给TempFeed
并且计算结果为false
(这意味着永远不会进入循环)。
【讨论】:
@erickson 想我可能已经问过类似问题的答案了,仍然感谢大家的回答 @TheNoobieCoder 我希望我的回答有所帮助;使用 cron 或(如果您必须使用 Java)quartz scheduler 可能也有更好的运气。以上是关于永久 While 循环 Java [重复]的主要内容,如果未能解决你的问题,请参考以下文章