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 に答える