所以我的代码旨在将机器人的 y 坐标与目标的 y 坐标进行比较。当我添加打印语句时,我在使函数返回任何内容时遇到问题。我觉得这与括号有关,但我不确定如何使用它们。
这不是整个程序,但它是其中唯一有错误的部分。
当我尝试编译这个时:
public class Ex12
{
private byte isTargetNorth(IRobot robot)
{
if (robot.getLocationY() > robot.getTargetLocation().y) {
return 1; System.out.println("north");
} else if (robot.getLocationY() == robot.getTargetLocation().y) {
return 0; System.out.println("no");
} else {
return -1; System.out.println("south");
}
}
}
我收到错误:无法访问的语句
当我尝试这个时:
public class Ex12
{
private byte isTargetNorth(IRobot robot)
{
if (robot.getLocationY() > robot.getTargetLocation().y)
return 1; System.out.println("north");
else if (robot.getLocationY() == robot.getTargetLocation().y)
return 0; System.out.println("no");
else
return -1; System.out.println("south");
}
}
我得到错误:没有“if”的“else”
当我删除 System.out.println() 函数时,我没有收到任何错误。