我有一个运行无限循环的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;
}
答案 0 :(得分:0)
我已经回答了我的问题。具有讽刺意味的是,这是一个逻辑错误。