Ich habe eine Hausaufgabe, bestimmte Zeichen in einer Zeichenfolge zu zählen.
Zum Beispiel: string = "America"
Die Ausgabe sollte = a appear 2 times, m appear 1 time, e appear 1 time, r appear 1 time, i appear 1 time and c appear 1 time
Code oben ist, was ich getan habe, aber ich denke, es ist nicht sinnvoll, 26 Variablen (eine für jeden Buchstaben) zu haben. Habt ihr alternative Ergebnisse?
Offensichtlich ist Ihre Intuition, eine Variable für jeden Buchstaben zu haben, korrekt.
Das Problem ist, dass Sie keine automatische Möglichkeit haben, dieselbe Arbeit an verschiedenen Variablen auszuführen, Sie haben keine triviale Syntax, die Ihnen hilft, die gleiche Arbeit (Zählen einer einzelnen Zeichenfrequenz) für 26 verschiedene Variablen zu machen .
Was können Sie tun? Ich werde Sie auf zwei Lösungen hinweisen:
a-z
den Indizes 0-25
zuzuordnen, was irgendwie trivial ist, ist der Grund für die ASCII-Codierung) HashMap<Character, Integer>
verwenden, das assoziativ ist container, der in dieser Situation die Zuordnung von Nummern zu bestimmten Zeichen ermöglicht, damit sie genau Ihren Anforderungen entspricht Sie können HashMap
von Zeichenschlüssel und Integer-Wert verwenden.
durchlaufen die Zeichenfolge
%Vor%Dies ist ein Pseudocode und Sie müssen versuchen, es zu codieren
Ich verwende eine HashMap für die Lösung.
%Vor%Produzierte Ausgabe - {U = 2, A = 3, B = 2, N = 3}