MINT üben

Zeichenketten verarbeiten

Dreißig Übungen zu Zeichenketten: Positionen, Teilzeichenketten, Verketten und Durchlaufen — von AFB I bis AFB III.

Dein Fortschritt:
0 / 0 Aufgaben
1

Übungsaufgaben

Dreißig Übungen in gemischter Reihenfolge — du klickst, ziehst, ordnest, rechnest und knobelst. Jede Übung gibt dir sofort eine Rückmeldung, und zu jeder Aufgabe gibt es zwei gestufte Tipps: Der erste zeigt die Richtung, der zweite den entscheidenden Schritt. Die Chips zeigen das Anforderungsniveau: AFB I heißt wiedergeben und direkt anwenden, AFB II selbst entscheiden und verknüpfen, AFB III begründen, beurteilen oder eine Falle durchschauen. Aufgaben mit dem Chip Mix verbinden Wissen aus früheren Unterkapiteln, bei Trick steckt eine Falle drin. Fährst du über ein unterstrichenes Arbeitswort, siehst du, was es genau von dir verlangt.

A1
Wie viele Zeichen kommen heraus?
AFB I

In Java gilt String s = "Pfefferminz";. Bestimme für jeden Ausdruck, aus wie vielen Zeichen sein Ergebnis besteht (Stufe 1 bis 5).

Wähle die Stufe, die zur Zahl der Zeichen im Ergebnis passt. Mit der Tastatur: Tab zur Zeile, ←/→ zwischen den Stufen, Enter setzt.
1 Zeichen5 Zeichen
s.substring(7, 8)
s.substring(3, 8)
s.substring(0, 2)
s.substring(6, 10)
s.substring(2, 5)
Die Länge einer Teilzeichenkette ist b − a: 8 − 7 = 1, 8 − 3 = 5, 2 − 0 = 2, 10 − 6 = 4 und 5 − 2 = 3. Die Anzahl der Zeichen lässt sich so bestimmen, ohne das Wort aufzuschreiben.
Bei substring(a, b) kommt es nur auf die beiden Zahlen an, nicht auf die Buchstaben.
Rechne b − a: Die Endposition gehört nicht mehr dazu, deshalb ist das die Zahl der Zeichen.
A2
Der Zauberspruch
AFB II

Ein Spiel bildet aus einem Wort s der Länge n einen Zauberspruch und schneidet das erste Zeichen ab:

Java
String t = s + " " + s + " " + s;
String u = t.substring(1, t.length());

Erstelle die Rechenkette, die aus der Länge n die Länge von u berechnet. Nicht jeder Block wird gebraucht.

Stecke die Rechenmaschine zusammen: Klick auf einen Block hängt ihn hinten an die Kette, Klick auf einen Kettenblock nimmt ihn wieder heraus. Der Probelauf zeigt unter jedem Block den Zwischenwert. Tastatur: Enter wie Klick, in der Kette Shift+←/→ verschiebt, Entf entfernt.
t enthält s dreimal (3 · n Zeichen) und zwei Leerzeichen: 3 · n + 2. Die Teilzeichenkette von Position 1 bis zum Ende lässt genau das erste Zeichen weg, also bleibt 3 · n + 2 − 1 übrig.
Bestimme zuerst die Länge von t: Wie oft kommt s vor, und wie viele Leerzeichen stehen dazwischen?
substring(1, t.length()) beginnt erst bei Position 1. Von der Länge von t fällt deshalb genau ein Zeichen weg.
A3
Gültig oder Absturz?
AFB II

Es gilt String s = "Mathe";. Untersuche, welche Aufrufe einen Wert liefern und welche mit einem Laufzeitfehler abbrechen.

Ziehe jede Karte in den passenden Korb — oder wähle sie mit Enter aus und drücke dann die Ziffer des Korbs (0 legt sie zurück).
1liefert einen Wert
2Laufzeitfehler
Einzelne Zeichen gibt es nur an 0 bis 4. Bei substring(a, b) darf b bis 5 = Länge gehen, und es muss a ≤ b gelten. substring(5, 5) ist erlaubt und liefert die leere Zeichenkette.
Bei charAt muss die Position zwischen 0 und länge − 1 liegen; bei substring(a, b) muss a ≤ b ≤ länge gelten.
Die Länge von „Mathe“ ist 5: Prüfe jeden Aufruf einzeln gegen diese Grenzen, auch negative Positionen und a > b.