ASCII Code aus String herauslesen

stibi

Mitglied
Guten Abend liebe Java-Forum Community

Ich erledige gerade meine Java - Hausarbeiten, komme aber leider nicht weiter.

Man musste zwei Klassen erstellen:

In der ersten Klasse wird mittels java.util.Scanner die Eingabe der Tastatur eingelesen.
In der zweiten Klasse wird die Eingabe dann auf gewisse Kriterien überprüft und es werden gewisse Strings zurückgegeben.

Nun muss ich zuerst einen Buchstaben einlesen und dann prüfen, ob dieser klein oder gross geschrieben ist.

Das Einlesen in der Class InOut sieht wie folgt aus und funktioniert tadellos:

Java:
...
public static String stringeinlesen(){
		String string1;
		java.util.Scanner stsc = new java.util.Scanner(System.in);
		string1 = stsc.nextLine();
		return string1;
...

Nun soll in der Main Calss überprüft werden, ob der eingelesene Buchstabe gross oder klein geschrieben ist. Doch wie mach ich das nun? Meine Überlegung: Den String in einen Int bzw. ASCII umwandeln / konvertieren und dann anhand der Nummer mit einem if / else Konstrukt herausfinden.

Doch wie mach ich das? Laut Google sollte es mit
Java:
int string1int = Integer.parseInt(string1);
funktionieren, will aber nicht so recht.

Hier den Code der Main Class den ich bisher habe:

Java:
...	
System.out.println("Bitte einen Buchstaben eingeben");
string1 = InOut.stringeinlesen();
int string1int = Integer.parseInt(string1);
System.out.println(string1int);
...

Kann die Main Class so auch kompilieren. Aber wenn ich sie dann ausführe und z.B. "t" mitgebe und mir den "Geparsten" Wert mit System.out.println() anzeigen lassen will, erhalte ich folgendeFehler:

Exception in thread "main" java.lang.NumberFormatException: For input string: "t"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at Main.main(Main.java:37)

Was mache ich falsch? :bahnhof:

Vielen Dank für jegliche Hilfe & Grüsse

Stibi
 
Beim Parsen, wenn ein String eine Zahl ist z.B. [c]"3"[/c], dann sollte es funktionieren, aber mit Buchstaben nicht.

Wrapperklassen.

Normalerweise enthalten Listen[] <> auch einen Index(int).

S.
 
den buchstaben kriegst mit
Code:
string1.charAt(0);
Java bietet zwar auch vorgefertigte Methoden zum Überprüfen eines Characters aber mit dem Wert den du Snippet gekriegt hast, kannsd du auch rechnen 😉
 
den buchstaben kriegst mit
Code:
string1.charAt(0);
Java bietet zwar auch vorgefertigte Methoden zum Überprüfen eines Characters aber mit dem Wert den du Snippet gekriegt hast, kannsd du auch rechnen 😉

Ahh, Danke! Ich habs nun wie folgt gemacht:¨

Java:
...
System.out.println((int)string1.charAt(0));
...

Damit bekomme ich wie gewünscht den ASCII Wert des Buchstabens.

Hehe, glaube ich Dir sofort, dass es auch vorgefertigte Methoden gibt. Aber Tippe lieber ein bisschen und bastel mit if / else herum. Reiner Übungszweck. Damit werde ich im Syntax noch etwas sattelfester 😉

Nochmals Danke & einen schönen Abend noch.

Grüsse
Stibi
 

Zurück
Oben