【发布时间】:2016-07-29 22:25:17
【问题描述】:
这个类的要求如下:
编写一个名为 Elevator 的类,该类应包含以下成员变量:
- currentFloor (int)
- elevatorState(一个 int 常量,IDLE、TO_SOURCE 或 TO_DESTINATION)
- request(请求对象表示正在处理的请求,如果电梯空闲,则为 null)
您还应该为此类提供以下内容:
将
request设置为null、elevatorState设置为IDLE 并将currentFloor设置为1 的默认构造函数。
每个变量的访问器和修改器方法。 代表 IDLE、TO_SOURCE 和 TO_DESTINATION 的最终变量。
这是我所拥有的:
public class Elevator {
private int currentFloor;
private int elevatorState;
private Elevator request;
public Elevator(){
currentFloor = 1;
elevatorState = ; //this is my problem
request = null;
}
}
我很困惑,因为它说将 IDLE、TO_Source 和 TO_DESTINATION 声明为整数常量,但它们不是字符串吗?
任何澄清都会非常有帮助。
【问题讨论】:
-
它们的价值并不重要。这只是区分不同状态的一种方式。基本上与enum 相同(这实际上是这里的正确工具)。理论上,您可以使用任何数据类型,只要可以唯一标识这三个值中的每一个。
-
这听起来像是实际使用 Enum 作为电梯状态的最佳时机。
-
那些不是字符串。它们是您在其他地方定义的常量,例如
final int IDLE = 1或其他。 -
@DrewKennedy 是!但不幸的是,学校(甚至大学)教授 Java 的方式永远无法通过专业的代码审查
-
对于分配给您这项任务的人来说,这更像是一个问题,因为他们的措辞不清楚。这可能意味着如上所述的枚举,或状态的常量 id。你应该让他们澄清他们想要什么。
标签: java constructor constants final