3

我对 Java 编程非常陌生,并且在使枚举类型工作时遇到了一些问题。在我的程序中,我声明了以下静态变量:

class Employee {

enum Gender {MALE, FEMALE};
static final double NORMAL_WORK_WEEK = 37.5;
static int numberOfFemales;
static int numberOfMales;
Gender sex;
}

我添加了打印相关信息的方法,以及以下方法:

static void registerEmployeeGender(Gender sex) {
switch(sex) {
case MALE:
numberOfMales++; break;
case FEMALE:
numberOfFemales++; break;}
}

在我尝试运行程序的客户端中,我无法使用最后一种方法。假设我创建了一个对象 Employee1,然后键入:

Employee1.registerEmployeeGender(FEMALE);

然后我收到错误消息:FEMALE 无法解析为变量。

是什么导致此错误消息?就像我说的,我对 Java 很陌生,这是我第一次尝试使用枚举类型,所以我可能做错了什么。如果有人可以给我任何帮助,我将不胜感激。

当然,我在这里只发布了程序的一部分,但这是唯一给我错误消息的部分。如果你需要我发布更多的程序,或者所有的程序,请告诉我。

提前感谢您的帮助!

4

3 回答 3

7

利用

Employee1.registerEmployeeGender(Gender.FEMALE);

并确保你在你的代码中做出以下导入语句

import static com.example.Employee.Gender.*;
于 2011-09-07T18:52:07.347 回答
5

您需要static import枚举值,以便能够以您呈现的方式静态使用它们:

import static com.example.Employee.Gender.*;

然而,通常的做法是只导入枚举

import com.example.Employee.Gender;

并指定枚举名称:

Employee1.registerEmployeeGender(Gender.FEMALE);
于 2011-09-07T18:54:11.527 回答
1

要访问枚举项目,请像这样使用“Gender.FEMALE”

可能对您有更多帮助。

于 2011-09-07T18:53:00.383 回答