Java Methode, die den meistgenutzten Buchstaben eines Strings herausfindet

ComFreek

Mod | @comfreek
Moderator
Hier wird normalerweise erwartet, dass Fragestellenden auch schreiben, was sie bisher recherchiert und/oder probiert haben und woran sie gescheitert sind.

Bis dahin eine (Troll)frage von mir zurück: was ist ein Buchstabe für dich? :D
 

MausTipTop100

Grünschnabel
Hi, ich kann dir hier mal einen Lösungsansatz geben.

Ganz oben von der Methode würde ich zwei Variablen deklarieren:
Einmal einen char, der sagt, welches das bisherige am häufigsten vorkommende Zeichen ist.
Darunter einen int, der sagt, wie oft dieses Zeichen vorkommt.
Java:
char result = ' ';
int count = 0;
Dann würde ich schauen, was für Zeichen der String überhaupt hat. Einmal der String in einem char Array und eine char Liste, in dem jeder Buchstabe aus dem String 1 mal vorkommt.
Java:
char[] chars = myString.toCharArray(); // String zu char[] konvertieren
List<Character> used = new Vector<Character>(); // Instanz einer Liste erstellen
for(char c : chars) // Foreach Schleife mit den Buchstaben des Strings
    if(!used.contains(c)) // Wenn der Buchstabe noch nicht in der Liste ist ...
        used.add(c); // Füge den Buchstaben zur Liste hinzu
Danach würde ich diese Liste durchlaufen und schauen, wie oft dieses Zeichen vorkommt. Wenn es öfter vorkommt als das bisherige "Top-Zeichen" dann würde ich die result und die count Variable überschreiben mit dem neuen "High Score"
Java:
for(char c : used) // Foreach Schleife zum Durchlaufen der Liste
{
    int tempcount = 0; // Integer zum zählen des aktuellen Zeichens
    for(char c1 : chars) // Buchstaben des Strings durchlaufen und Anzahl von c zählen
        if(c1 == c)
            tempcount++;
    if(tempcount > count) // Wenn die gezählten Zeichen größer als der "Highscore" sind ...
    {
        result = c; // Ergebnis überschreiben
        count = tempcount; // Anzahl überschreiben
    }
}