java - java中的函数没有完成

标签 java

问候,

这是我的第一个问题,我只是将编程作为一种爱好,所以请在尝试帮助我时记住这一点。

我有一个函数试图读取十字准线的中心点。类似于游戏中的定位器。代码如下所示:

public static Point location(BufferedImage image) {
        int pixelLeft;
        int pixelTop;
        Point point = new Point();

        for (int i = Main.RADAR_TOP+1; i < Main.RADAR_BOTTOM; i++) {
            pixelLeft = image.getRGB(Main.RADAR_LEFT+7, i);
            if ((((pixelLeft>>16) & 0xff) > 35 &&
                  ((pixelLeft>>8) & 0xff) > 35 &&
                  ((pixelLeft) & 0xff) > 35)){
                point.y = i;
                break;
            }
        }

        for (int j = Main.RADAR_LEFT+1; j < Main.RADAR_RIGHT; j++) {
            pixelTop = image.getRGB(j, Main.RADAR_TOP+5);
            if ((((pixelTop>>16) & 0xff) > 35 && 
                  ((pixelTop>>8) & 0xff) > 35 && 
                  ((pixelTop) & 0xff) > 35)){
                point.x = j;
                break;
            }
        }

        System.out.println("location: "+point.x+","+point.y);
/**        lastX = point.x;
        lastY = point.y;*/
        return point;
    }

有时,此函数根本不会将控制权返回给主应用程序。基本上它会卡住运行。因此函数中的最后一个注释要做检查。我首先想到这可能与读取函数所在类的静态成员有关,所以我将它们注释掉,正如您在最后看到的那样。但是问题仍然存在。

我真的看不出或想不出这种行为的任何原因。我将非常感谢任何可能指出错误或其他问题的想法或评论。

最佳答案

问题是位置函数被第二个函数调用,而这个第二个函数在我错过中断的 case 语句中。这就是应用程序“卡住”的原因。

关于java - java中的函数没有完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3541050/

相关文章:

java - 提高 Android GPS 性能

java - 如何在迭代的某个点中断循环并检查系统打印了什么?

java - gradle 在 Java 中构建匿名内部类在哪里?

java - Moshi 找不到我用 Kotlin 为参数化类型编写的自定义适配器

java - 如何调整 jvm 使其崩溃而不是英勇地 GC 直到 100% CPU 利用率?

c# - 如何向网络服务发送特殊字符?

java - 模拟 flickr api 以实现更好的单元测试

java - 您有任何有效使用 Java Assert 的技巧吗?

java - 检查子类是否在父类中实现接口(interface)?

java - Eclipse 生成的 equals 使用 1231 和 1237 的 boolean 值有什么特别的原因吗?