0

私はJavaが初めてです。英文を入力し、a から 0、b から 1...z から 26、ピリオド "." に従って数字に変換するプログラムを作成する必要があります。~27、コンマ「,」~28、「?」29 まで、"(" から 30 まで、")" から 31 まで。これを実現するために enum を使用することは可能でしょうか?

4

2 に答える 2

3

それはJava固有のものではありません。コンピューターの場合、文字は、ASCII、Unicode などのコードに対応する単なる数値です。したがって、ほとんどのプログラミング言語 (Java を含む) では、文字を数字として扱う手段を見つける必要があります。Java には、ここで使用できるcharプリミティブ型 (およびCharacterオブジェクト ラッパー) があります。

必要なマッピングを取得するには、いくつかの基本的な算術演算を行う必要があります。

于 2013-03-16T22:24:04.573 に答える
1

できるよ

public static int letterToInt(char ch) {
    return (ch & 31) - 1;
}

特定の文字のリストを念頭に置いている場合は、次のことができます

public static int letterToInt(char ch) {
    return "abcdefghijklmnopqrstuvwxyz.,?()".indexOf(ch);
}

'a' または 'A' を 0 に、'b' または 'B' を 1 などにマップします。注: az は 1 から 26 または 0 から 25 のいずれかです。

于 2013-03-16T23:06:33.977 に答える