Was „macht“ dieses charAt(0) bzw. was passiert wenn ich statt 0 zb 3 schreiben würde?

4 Antworten

Du verwirrst dich selbst, weil du den Scanner "Einzelzeichen" nennst, obwohl der Scanner ein Objekt ist, was eine ganze Sammlung an Methoden bietet, mit denen man Eingaben aus verschiedensten Quellen verarbeiten kann.

Mit "Einzelzeichen.next()" sagst du dem Scanner, dass du den Input bis zum nächsten Trennzeichen einlesen willst. Standardmäßig ist als Trennzeichen jeglicher Whitespace eingestellt. Also Leerzeichen, Zeilenvorschub, Tab etc.

Kurz gesagt liest du damit ein ganzes Wort, also einen String ein. Mit charAt(0) kannst du jetzt das erste Zeichen des Wortes in eine Variable speichern.

Indexposition null eine Zeichenkette kann als ein Array aus Chars betrachtet werden. Char at 0 ist sozusagen der erste Buchstabe der Zeichenkette bzw das erste Zeichen.

Ergänzung: 0 deshalb weil wir in der Informatik bei 0 anfangen zu zählen. Nehmen wir an die Zeichenkette wäre "Auto"

Dann wäre A an der Position 0 und U an der Position 1 und t an 2 und o auf der 3.

Wenn du statt 0 die 3 schreiben würdest würde ein o im Falle des Auto ausgegeben werden. Gibst du eine höhere Zahl ein also Größer als die Zeichenkette lang ist kommt es zu einer Fehlermeldung "IndexOutOfBounds"

Übersetz' es schlicht ins deutsche: "char at" = "character at" = "Buchstaben bei" und dann der Index in deiner Zeichenkette.

Woher ich das weiß:Studium / Ausbildung – Masterstudium Elektrotechnik - Schwerpunkt Embedded Systems

Die Zahl in der Klammer gibt die Position in der Zeichenkette an.