【发布时间】:2013-03-15 05:22:12
【问题描述】:
我在下面列出了这个枚举类。 枚举类是:
public enum Direction {
NORTH,
SOUTH,
EAST,
WEST,
NOWHERE
}
并且说明是,当我从另一个名为车辆的类中移动车辆时,它会返回一个方向(北、南、东或西)移动,这将使汽车更接近目标目的地。对 nextMove() 的调用应该修改 Vehicle 对象的内部状态,以根据返回的方向反映其新位置。如果汽车的当前位置等于目标目的地,那么nextMove 应该返回“NOWHERE”。所以我试图解决这个创建 if 语句,例如,如果它向北,那么它将打印 NORTH,反之亦然。以下是规格和我的尝试:
如果汽车在位置 (3, 10) 并决定向北移动,那么它将移动到位置 (3, 11)。一般来说,如果一辆车从 (x, y) 位置向“北”移动,它将最终到达 (x, y+1) 位置,从 (x, y) 向“南”移动到 (x, y-1) 位置)、“东”(x+1, y) 和“西”(x-1, y)。例如,如果对象向上移动,那么它会说“NORTH”。
当前尝试:
public void Direction(Direction togo)
{
if((yDestination+1)>yDestination)
{
System.out.println("NORTH");
}
if((yDestination-1)<yDestination)
{
System.out.println("SOUTH");
}
if((xCar+1)>xCar)
{
System.out.println("EAST");
}
if((xCar-1)<xCar)
{
System.out.println("WEST");
}
我试图通过 if 语句来回答上面的这个问题,但我很确定有什么问题。
【问题讨论】:
-
那么你的条件没有意义......
-
至少对我来说不是......因为似乎所有 if 块都会执行。
标签: java