首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在dragon12项目中使用System.exit()

无法在dragon12项目中使用System.exit()
EN

Stack Overflow用户
提问于 2013-05-04 22:17:08
回答 1查看 88关注 0票数 0

除了System.exit(0),我什么都能用。如果按下按钮,它应该会退出剩余的任何时间。我不知道该怎么办。我们将非常感谢您的帮助。

代码语言:javascript
复制
    /*
     Creates the perfect hard-boiled(simulates 12 minutes in boiling water) or soft-boiled
     egg(simulates 6 minutes in boiling water).  Both options require 10 seconds of rinsing
     under cold water after necessary time for boiling.  Allow user to exit any remaining 
     time.
    */
import java.io.*;
import java.util.*;

public class AdvancedEggMaker {
    public static void main(String[] args) {
        MCU mcu = null;

        try {
            mcu = new MCU(new Communicator(args[0]));
        }

        catch (IOException e) {
            System.out.println(e);
        }

        mcu.println("SW2 - HB Egg", 0);
        mcu.println("SW3 - SB Egg", 1);

        while (true) {
            int sw = mcu.getSwitch();
            if (sw == 2) {
                mcu.println("Hard Boiled Egg", 0);
                mcu.println("Place Egg in", 0);
                mcu.println("boiling water", 1);
                mcu.println("then press SW4", 0);
                mcu.println("SW5 - Quit", 1);
                int sw2 = mcu.getSwitch();
                switch (sw2) {
                case 4:
                    int t = 720;
                    while (t > 0 && sw2 == 4) {
                        t = (t - 1);
                        mcu.println("Boiling...", 0);
                        mcu.println((t / 60) + "mins left...", 1);
                    }
                    break;
                case 5:
                    System.exit(0);
                    break;
                }
            }

            if (sw == 3) {
                mcu.println("Soft Boiled Egg", 0);
                mcu.println("Place Egg in", 0);
                mcu.println("boiling water", 1);
                mcu.println("then press SW4", 0);
                mcu.println("SW5 - Quit", 1);
                int sw2 = mcu.getSwitch();
                switch (sw2) {
                case 4:
                    int t = 360;
                    while (t > 0 && sw2 == 4) {
                        t = (t - 1);
                        mcu.println("Boiling...", 0);
                        mcu.println((t / 60) + "mins left...", 1);
                    }
                    break;
                case 5:
                    System.exit(0);
                    break;
                }
            }

            mcu.println("Rinse Egg", 0);
            mcu.println("then press SW4", 0);
            mcu.println("SW5 - Quit", 1);
            int sw3 = mcu.getSwitch();
            if (sw3 == 4) {
                double t = 10;
                while (t > 0.0) {
                    t = (t - 1);
                    mcu.println("Rinsing...", 0);
                    mcu.println(t + "Secs left...", 1);
                }
                if (sw == 5) {
                    System.exit(0);
                }
            }
        }
    }
}
EN

回答 1

Stack Overflow用户

发布于 2013-05-04 22:31:42

是否确定执行正在到达您的System.exit(0)语句之一。我没有看到任何sysout或日志可以帮助您确定这一点。首先检查它,因为我看不出它不应该工作的任何理由。

其次,你可以检查你的代码中是否有后台线程在运行。可能的情况是,您可能在线程中的某个位置打开了一些连接/流,并且不允许System.exit(0)终止该进程。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16375259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档