0

数値を単語に変換するためのJavaコードを実行しています(例:999-> 9999)。単語を定義するために2つの文字列を使用しました。

private static final String[] tensWords ={ "", " ten", " twenty", " thirty"}
public enum tenWords{ten, twenty, thirty} 

列挙型を使用している場合、文字列配列のように空白の""を入力できません。したがって、間違った出力を引き起こします。これを解決する方法を提案してください。以下は、列挙型を使用して値にアクセスするコードです。

if (number % 100 < 20)
{
    soFar = tensWords.values()[number % 100].toString();
    number /= 100;
}
4

3 に答える 3

5

enumパラメータを使用して、必要なものをenum値に格納できます。

enum TensWords {
    NONE(""),
    TEN("Ten"),
    TWENTY("Twenty");
    ///...

    private final String text;

    TensWords(String text) {
        this.text = text;
    }

    public String getText() {
        return text;
    }
}

また、静的メソッドとして、コードを移動して数値でTensWordsを列挙型に決定することを検討してください。

于 2012-12-27T13:25:23.417 に答える
1

列挙型を使用して値を割り当てることができます。

public enum TenWords{
     ZERO(""), TEN("ten"), TWENTY("twenty"), THIRTY("thirty");

     private final String value;
     private TenWords(String value) {
       this.value = value;
     }
     public String getValue() {
       return value;
     }
}

次のようにアクセスします。

System.out.println(TEN.getValue());
System.out.println(ZERO.getValue());
于 2012-12-27T13:25:39.533 に答える
0

必要なスペースを確保するために、列挙型にtoString()を実装できます。

于 2012-12-27T13:26:43.323 に答える