永久 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 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

个人永久性免费-Excel催化剂功能第36波-新增序列函数用于生成规律性的循环重复或间隔序列

Android:如何管理永久后台任务?

R语言-while循环

删除帖子永久链接(href)

break 和 continue 语句

如何在Matlab中永久地在图像的两个坐标之间画一条线? [重复]