Int intが0から255の範囲にあり、この1文字のASCIIの値が指定された整数になるようにString(長さ1)を作成したい。
Javaでこれを行う簡単な方法はありますか?
例:
65 -> "A"
102 -> "f"
System.out.println((char)65);
は "A"を表示します
String.valueOf
(
- Character.toChars(int)
)
あなたが言うように、整数が0から255の間であると仮定すると、Character.toChars
から返される単一文字の配列を取得します。これは、String.valueOf
に渡されると単一文字の文字列になります。
Character.toChars
の使用は、さまざまな理由でint
からchar
へのキャスト(つまり(char) i
)を伴うメソッドよりも推奨されます。これには、キャストがエラーを飲み込むときに整数を適切に検証できなかった場合にCharacter.toChars
がIllegalArgumentException
をスローするなどが含まれます- プリミティブ変換仕様の縮小 )、潜在的に意図したもの以外の出力を提供します。
int number = 65;
char c = (char)number;
それは簡単な解決策です
new String(new char[] { 65 }))
あなたは長さ1の文字列で終わるでしょう、その単一の文字は(ASCII)コード65を持ちます。Javaでは文字は数値データ型です。
このようにaからzまで繰り返すことができます
int asciiForLowerA = 97;
int asciiForLowerZ = 122;
for(int asciiCode = asciiForLowerA; asciiCode <= asciiForLowerZ; asciiCode++){
search(sCurrentLine, searchKey + Character.toString ((char) asciiCode));
}
for (int i = 0; i < 256; i++) {
System.out.println(i + " -> " + (char) i);
}
char lowercase = 'f';
int offset = (int) 'a' - (int) 'A';
char uppercase = (char) ((int) lowercase - offset);
System.out.println("The uppercase letter is " + uppercase);
String numberString = JOptionPane.showInputDialog(null,
"Enter an ASCII code:",
"ASCII conversion", JOptionPane.QUESTION_MESSAGE);
int code = (int) numberString.charAt(0);
System.out.println("The character for ASCII code "
+ code + " is " + (char) code);
同じことをするより簡単な方法:
整数を文字にキャストし、int n
を整数にします。
Char c=(char)n;
System.out.print(c)//char c will store the converted value.
アスキー文字を返すメソッドに単純化してみませんか?
public char toAscii (int input) {
return (char)input;
}