J'ai un int entier compris entre 0 et 255 et je souhaite créer une chaîne (de longueur 1) de sorte que la valeur ASCII de ce caractère unique soit l'entier spécifié.
Existe-t-il un moyen simple de faire cela en Java?
exemple:
65 -> "A"
102 -> "f"
System.out.println((char)65);
afficherait "A"
String.valueOf
_(
_ Character.toChars(int)
_)
_
En supposant que le nombre entier, comme vous le dites, est compris entre 0 et 255, vous obtiendrez un tableau contenant un seul caractère provenant de _Character.toChars
_, qui deviendra une chaîne à un seul caractère lorsqu'il sera passé à _String.valueOf
_.
L'utilisation de _Character.toChars
_ est préférable aux méthodes impliquant un transtypage de int
à char
(c'est-à-dire _(char) i
_) pour un certain nombre de raisons, notamment le fait que _Character.toChars
_ jette un IllegalArgumentException
si vous ne validez pas correctement l'entier alors que le transtideur avalera l'erreur (conformément à spécification de conversions de primitives restrictives ), en générant potentiellement une sortie autre que celle que vous souhaitiez.
int number = 65;
char c = (char)number;
c'est une solution simple
new String(new char[] { 65 }))
Vous obtiendrez une chaîne de longueur un, dont le caractère unique porte le code (ASCII) 65. En Java, les caractères sont des types de données numériques.
On peut parcourir de a à z comme ceci
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);
Une façon plus simple de faire la même chose:
Tapez le nombre entier converti en caractère, laissez int n
le nombre entier,
Char c=(char)n;
System.out.print(c)//char c will store the converted value.
Pourquoi ne pas le simplifier pour une méthode qui retourne le caractère ascii?
public char toAscii (int input) {
return (char)input;
}