zählen bestimmte Zeichen in einer Zeichenfolge (Java)

8

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

sein %Vor%

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?

    
user1432513 03.06.2012, 00:19
quelle

8 Antworten

7

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:

  • Sie können ein Array verwenden (aber Sie müssen eine Möglichkeit finden, das Zeichen a-z den Indizes 0-25 zuzuordnen, was irgendwie trivial ist, ist der Grund für die ASCII-Codierung)
  • Sie können ein 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
Jack 03.06.2012, 00:25
quelle
4

Sie können HashMap von Zeichenschlüssel und Integer-Wert verwenden.

%Vor%

durchlaufen die Zeichenfolge

%Vor%

Dies ist ein Pseudocode und Sie müssen versuchen, es zu codieren

    
Sleiman Jneidi 03.06.2012 00:25
quelle
2

Ich verwende eine HashMap für die Lösung.

%Vor%

Produzierte Ausgabe -     {U = 2, A = 3, B = 2, N = 3}

    
user1813084 09.11.2012 20:47
quelle
0

Als Fortsetzung zu Jacks Antwort könnte der folgende Code Ihre Lösung sein. Es verwendet das Array, um die Häufigkeit von Zeichen zu speichern.

%Vor%

Es wird die folgende Ausgabe geben:

%Vor%     
WickeD 03.06.2012 05:27
quelle
0
%Vor%     
selva 28.03.2013 15:43
quelle
0
%Vor%     
testUser 26.04.2013 20:12
quelle
0

vielleicht können Sie das verwenden

%Vor%

zum Beispiel:

%Vor%     
user3326645 19.02.2014 06:02
quelle
0

Zählen Sie char 'l' in der Zeichenfolge.

%Vor%

oder

%Vor%     
Gajender Singh 04.08.2017 07:21
quelle

Tags und Links