0

私が番号1を持っていて、それがユーザーによって送信された場合、それをAに変換するJava関数はありますか? B も同様に、2 (反対) にするにはどうすればよいですか?

4

4 に答える 4

2

アルファベットのすべての文字で配列を作成し、次のような文字を取得できます。

配列アルファベット

int inputNumber = -input- 

これであなたの手紙が届きます:

alphabet[inputNumber-1]
于 2015-04-10T20:52:51.360 に答える
0

これはおそらくあなたの問題を解決します:

public static void main(String[] args) {
    System.out.println("1: " + numberToLetter(1));
    System.out.println("26: " + numberToLetter(26));
    System.out.println("a: " + letterToNumber('a'));
    System.out.println("z: " + letterToNumber('z'));
}

public static char numberToLetter(int number) {
    return (char)((byte)number+(byte)96);
}

public static byte letterToNumber(char letter) {
    return (byte)((byte)letter - (byte)96);
}

それが役に立てば幸い...

于 2015-04-10T20:59:11.837 に答える
0

ASCII 値を使用する必要があります。たとえば、A の値は 65、B の値は 66 などです。したがって、入力を取得し、それに 64 を追加して、それぞれの文字を取得します。ASCII 値を使用することをお勧めします。

于 2015-04-10T20:54:26.490 に答える
0

すべての文字には数値が関連付けられています。大文字は小文字とは異なり、記号にも数値があります。文字の数値を見つけるには、ASCII テーブルを確認してください。または使用:

char thisChar = 'A';
int charValue = (int) thisChar; // returns 65
char thisChar = 'a';
int charValue = (int) thisChar; // returns 97

要するに、モルガノのコメントは正しいです。この場合の正しい行は次のようになります。

// save user input as int number
char letter = (char)(number + 64);
于 2015-04-10T21:10:32.770 に答える