Java编译错误的旧文件

时间:2015-04-04 15:25:00

标签: virtual bufferedimage

我有一个运行无限循环的java应用程序。当我点击在eclipse上运行时,它似乎正在恢复我已经改变的旧代码。问题是,当我在随机时间构建它时更新。最近我添加了System.exit()。我更改了代码,但仍然退出。我也在C#中试过这个程序。我觉得我在某种程度上混淆了语言运行时与无限循环。该程序适用于一系列更改的布尔值。我正在寻找不稳定行为的主要动作(这是我添加System.exit()之前发生的事情)是一个迭代BufferedImage中像素的方法。我正在运行Ubuntu 14.10。我试过制作一个新项目并粘贴相同的代码(它可能是隐形字符吗?)我很困惑,如果有人可以提供帮助,我会很高兴。

while(true){
if (bool1 && !exe.isSeparate(image))
{
    // change boolean values
    // did run System.exit(0)
}
if (bool2 && !exe.isSeparate(image))
{
    // change boolean values
    // did run System.exit(0)
}
}

boolean isSeparate(BufferedImage image)
{
    int x = touchingX;
    boolean first = false, second = false, third = false;
    int startAt = this.getYStart(image);
    for (int y = startAt; y < startAt + 150; y++)
    {
        Color pixel = new Color(image.getRGB(x, y));
        if (!(pixel.getRed() == 255 && pixel.getGreen() == 255 && pixel.getBlue() == 255)
                && !(pixel.getRed() == 0 && pixel.getGreen() == 68 && pixel.getBlue() == 125))
        {
            if (!first)
            {
                first = true;
            }
            if (first && second && !third)
            {
                third = true;
            }
        }
        else
        {
            if (first && !second)
            {
                second = true;
            }
        }
    }
    if (first && second && third)
    {
        return true;
    }
    return false;
}

1 个答案:

答案 0 :(得分:0)

我已经回答了我的问题。具有讽刺意味的是,这是一个逻辑错误。