(Java) Buchstaben in den ASCII-Code umwandeln?
Moin, Ich besuche aktuell einen Programmier-Kurs, welcher die Sprache Java benutzt. Wir sollen nun ein Programm schreiben, welches Kleinbuchstaben in Großbuchstaben umwandeln soll. Dafür sollen wir den ASCII-Code benutzen. Ich weiß zwar inzwischen, wie man Zahlen in Zeichen umwandelt, jedoch noch nicht, wie man Zeichen in Zahlen umwandelt.
Kann mir da jemand helfen?
2 Antworten
Hast du schon mal in die ASCII-Tabelle geschaut?
http://www.torsten-horn.de/techdocs/ascii.htm
Das kleine a liegt dort bei der Dezimalzahl 97 und das große A bei 65. Die Differenz beträgt 32.
Die nächste Information, die du benötigst, ist die, dass Java ganze Zahlen implizit in den Typ Character umwandeln kann und andersrum:
char a = 97; // 'a' int b = 'a'; // 97
So kannst du dir einen Großbuchstaben einfach errechnen:
char grossbuchstabe = 'a' - 32; // 'A'
"Zahlen und Zeichen" sind in deinem Falle das gleiche. Es kommt ja nur darauf an, wie du sie behandelst.
Ich bin mir nicht sicher, ob du jetzt nur von ASCII redest, aber vielleicht meinst du so etwas:
final char c1 = 'a';
final int i1 = c1;
System.out.printf("%c: 0x%02X\n", c1, i1);
final char c2 = (char)(c1 ^ 0x20);
final int i2 = c2;
System.out.printf("%c: 0x%02X\n", c2, i2);
Ansonsten guck dir die Methoden toUpperCase() und toLowerCase() der Stringklasse an! Das ist vielleicht eher das, was du suchst. :)
In diesem Beispiel meinte ich mit "Zahlen" die grünen Spalten und mit "Zeichen" die schwarzen Spalten.