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