boolean openingboard;
{
Robot robot = new Robot();
Color color3 = new Color(108, 25, 85);
Rectangle rectangle = new Rectangle(0, 0, 1365, 770);
while(true)
{
BufferedImage image = robot.createScreenCapture(rectangle);
search: for(int x = 0; x < rectangle.getWidth(); x++)
{
for(int y = 0; y < rectangle.getHeight(); y++)
{
if(image.getRGB(x, y) == color3.getRGB())
{
System.out.println("About to finish and return true");
return true;
}
System.out.println("About to finish and return false");
}
}
}
}
错误是: java:71: 返回外部方法
返回真值
^
我不知道这是怎么回事,请帮忙!
最佳答案
根据您上面的评论回复,我将做出有根据的猜测您相信
boolean openingboard;
{
return true;
}
定义了一个名为 openingboard
的 Java 方法。事实并非如此。 Java 遵循 C 范式,要求您在括号中指定您的参数,无论您是否有任何参数。所以,方法
boolean openingboard() {
return true;
}
是一个有效的 Java 方法(假设它在某个类中),就像 openingboard
的一个版本一样,在大括号之间有更多的代码。
也就是说,我将传递一些关于 Java 风格的友好提示:
- Java(实际上是大多数高级语言)程序员往往不喜欢“永远”循环,例如
while (true)
,因为这些循环使得确定循环何时真正停止变得更加困难. - 代码中不需要标签
search
,标签比永远循环更不鼓励。
所以,我建议重写您的代码,使其看起来像
private boolean openingboard() {
Robot robot = new Robot();
Color color3 = new Color(108, 25, 85);
Rectangle rect = new Rectangle(0, 0, 1365, 770);
BufferedImage image = robot.createScreenCapture(rect);
for(int x = 0; x < rectangle.getWidth(); x++) {
for(int y = 0; y < rectangle.getHeight(); y++) {
if(image.getRGB(x, y) == color3.getRGB())
return true;
}
}
return false;
}
当然假设您更喜欢调试器来跟踪打印。
关于java - 返回外部方法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9304659/