Buchstaben zählen

Hallo1234

Bekanntes Mitglied
Hallo,
wieder mal eine Frage. Woran liegt es, dass bei diesem Code für jeden Buchstaben die Anzahl 0 ausgegeben wird?
Wie kann ich das beheben?
Java:
int anz =0;
        String wort = "aber";
        String[] let = {"a","b","c","d","e"};
        for(int i=0; i<let.length; i++) {
            for(int j=0; j<wort.length(); j++) {
                if(let[i] == wort.substring(j)) {
                    anz++;
                
            }
            
        }
            System.out.println("anzahl "+let[i]+ ": "+anz);
    }
Vielen Dank
 
K

kneitzel

Gast
a) Strings vergleicht man nicht mit ==
b) Füge da in der for Schleife mal ein System.out.println(wort.substring(j)); ein.
 

Hallo1234

Bekanntes Mitglied
Danke für die Hilfe. Jetzt gibt es nur noch ein kleines Problem:
1626605365883.png
Wie kommt es, dass die Anzahl von "d" 2 ist, obwohl im Wort nicht mal ein d enthalten ist?
Java:
int anz =0;
        String wort = "aber";
        char[] let = {'a','b','c','d','e'};
        for(int i=0; i<let.length; i++) {
            for(int j=0; j<wort.length(); j++) {
                if(let[i] == wort.charAt(j)) {
                    anz++;

                }
            }
            System.out.println("anzahl "+let[i]+ ": "+anz);
        }
 

Hallo1234

Bekanntes Mitglied
Wenn ich auf 0 zurücksetze, wird überall 0 ausgegeben:
Java:
String wort = "aber";
        char[] let = {'a','b','c','d','e'};
        int anz = 0;
        for(int i=0; i<let.length; i++) {
            for(int j=0; j<wort.length(); j++) {
                if(let[i] == wort.charAt(j)) {
                    anz++;
                }else {
                    anz = 0;
                }
            }
            System.out.println("anzahl "+let[i]+ ": "+anz);
        }
Oder gibt es noch eine andere Möglichkeit, um auf 0 zurückzusetzen?
Stimmt das mit dem Scope jetzt?
 
K

kneitzel

Gast
Nein, das stimmt so nicht (Wie Du am Ergebnis ja erkennen kannst.

Wann soll denn die Anzahl auf 0 gesetzt werden? Doch immer, wenn Du das nächste Zeichen aus dem Array let auswählst.
Das ist ja die äußere for Schleife. Somit muss das anz=0 als erstes innerhalb der äußersten for schleife erfolgen.

Dazu kann ich Dir auch nur den Tipp geben, dass Du so Aufgaben mehr unterteilst. Generell ist eine Verschachtelungstiefe > 2 immer schlecht und schwer zu überblicken. Das kann man also vermeiden. Schon beim überlegen des Algorithmus kann man das direkt unterteilen:

Zählen alles Zeichen aus Zeichenmenge in Zeichenfolge folge:
- Für jedes Zeichen aus Zeichenmenge:
--- AnzahlDesZeichens := zähleZeichenInString(folge, zeichen)
--- Ausgabe AnzahDesZeichens

Also schon bei der Überlegung sowas unterteilen. Dann wird alles einfach und übersichtlich. Und auch die Bezeichner gleich deutlich wählen. i und j können leicht vertauscht werden und man sieht es nicht direkt.
 

Hallo1234

Bekanntes Mitglied
Danke dir für die ausführliche Erklärung : )
Es funktioniert jetzt endlich.
Java:
String wort = "aber";
        char[] let = {'a','b','c','d','e'};
        int anz = 0;
        for(int i=0; i<let.length; i++) {
            for(int j=0; j<wort.length(); j++) {
                if(let[i] == wort.charAt(j)) {
                    anz++;
            }
        }
            
            System.out.println("anzahl "+let[i]+ ": "+anz);
            anz = 0;
        }
Vielen Dank
 

Barista

Top Contributor
Es hilft Dir sicher, wenn die Einrückung in Deinem Code korrekt ist.
Falls Du Eclipse verwendest Strg-A und Strg-I (alle Zeilen korrekt einrücken) oder nur Strg-F (Code formatieren).
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Java Programm, das kleine Buchstaben in einem String zählen soll und bei großen Buchstaben oder Sonderzeichen abbrechen soll. Java Basics - Anfänger-Themen 5
G Erste Schritte Einen Array absuchen und Buchstaben zählen Java Basics - Anfänger-Themen 17
J Buchstaben aus String einzeln Zählen Java Basics - Anfänger-Themen 12
A Erste Schritte Datei einlesen und Buchstaben zählen Java Basics - Anfänger-Themen 13
M Von File lesen Buchstaben lesen und zählen - scheitert an der Eingabe Java Basics - Anfänger-Themen 4
S Buchstaben/Wörter im String zählen Java Basics - Anfänger-Themen 6
J Buchstaben zählen Java Basics - Anfänger-Themen 17
R buchstaben zählen Java Basics - Anfänger-Themen 8
V Anzahl eines Buchstaben in einem String zählen Java Basics - Anfänger-Themen 7
J Buchstaben zählen Java Basics - Anfänger-Themen 4
H Buchstaben zählen! Java Basics - Anfänger-Themen 3
S Buchstaben zählen Java Basics - Anfänger-Themen 7
M Buchstaben zählen aus txt Datei Java Basics - Anfänger-Themen 30
R Bestimmten Buchstaben im String zählen Java Basics - Anfänger-Themen 9
B Buchstaben/Zahlen zählen Java Basics - Anfänger-Themen 2
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
L Buchstaben entfernen zipZap Java Basics - Anfänger-Themen 8
S String Array Buchstaben um einen gewissen Wert verschieben Java Basics - Anfänger-Themen 4
BeginnerJava String mit vorgegebener Länge und Buchstaben erzeugen/ mit Leerstellen Java Basics - Anfänger-Themen 8
S Buchstaben Programmierung Bedeutung Java Basics - Anfänger-Themen 4
C In String, Buchstaben ersetzen durch andere Buchstaben Java Basics - Anfänger-Themen 26
Tom/S KeyCode zu Buchstaben Java Basics - Anfänger-Themen 0
C ArrayList sortieren nach bestimmten Buchstaben in den Wörtern Java Basics - Anfänger-Themen 13
R Mehrere Buchstaben aus einem String entfernen Java Basics - Anfänger-Themen 1
J Verschieben von Buchstaben in einem String um vorgegebene Anzahl von Zeichen innerhalb eines weiteren String Java Basics - Anfänger-Themen 12
Q Besitzen zwei Strings identische Buchstaben, nur in anderer Reihenfolge? Java Basics - Anfänger-Themen 10
J Buchstabenhäufigkeit mit Array und Ausgabe des häufigsten Buchstaben Java Basics - Anfänger-Themen 25
J Buchstaben aus textArea extrahieren Java Basics - Anfänger-Themen 4
S Buchstaben in Großbuchstaben (Strings) Java Basics - Anfänger-Themen 5
O FilterStream häufigkeit der Buchstaben Java Basics - Anfänger-Themen 43
F Buchstaben in einem String vertauschen (Ohne replace) Java Basics - Anfänger-Themen 10
H Anzahl verschiedener Buchstaben im String Java Basics - Anfänger-Themen 41
A Erste Schritte Buchstaben im Array suchen Java Basics - Anfänger-Themen 8
K String buchstaben auslesen Java Basics - Anfänger-Themen 9
K Probleme beim Programm schreiben - Lesen von Dateiinhalten -zaehlen von Wörtern/ Buchstaben Java Basics - Anfänger-Themen 4
J Für jeden Buchstaben eine Zahl Java Basics - Anfänger-Themen 1
B Wie kann ich die Buchstaben sortieren nach der Höhe der Zahlen Java Basics - Anfänger-Themen 14
Z Ersten Buchstaben eines Elements eines String-Arrays auslesen Java Basics - Anfänger-Themen 5
x-tshainge Zahlen Buchstaben zuordnen Java Basics - Anfänger-Themen 4
T Datentypen char als Buchstaben statt als Zahl ausgeben Java Basics - Anfänger-Themen 4
M replace Methode für Buchstaben Java Basics - Anfänger-Themen 29
L Feld mit beliebiger Anzahl von Buchstaben füllen... Java Basics - Anfänger-Themen 5
J Methoden Eingabe Methode nur Buchstaben Java Basics - Anfänger-Themen 4
I Hilfe beim löschen von Buchstaben. Java Basics - Anfänger-Themen 1
I Hilfe beim löschen schon Buchstaben. Java Basics - Anfänger-Themen 4
DestinatioN Problem beim splitten eines Satzes in Wörter und die Wörter in Buchstaben Java Basics - Anfänger-Themen 2
V char Eingabe aber nur für Buchstaben Java Basics - Anfänger-Themen 4
J Zufällige Buchstaben Java Basics - Anfänger-Themen 45
C Klassen Positionszähler auf Buchstaben setzen Java Basics - Anfänger-Themen 14
D Input/Output Buchstaben als bestimmte Zahl erkennen Java Basics - Anfänger-Themen 4
S Input/Output Buchstaben in Eingabe finden und ausgeben Java Basics - Anfänger-Themen 5
R [Erledigt]Fehler beim löschen von einzelnen Buchstaben aus StringBuilder Java Basics - Anfänger-Themen 1
Bregedur String beim nächstem groß geschriebenen Buchstaben trennen Java Basics - Anfänger-Themen 1
E Input/Output Konsole erkennt meinen Buchstaben nicht Java Basics - Anfänger-Themen 12
F Häufigkeit von Buchstaben Java Basics - Anfänger-Themen 7
L Java Strings Buchstaben vertauschen Java Basics - Anfänger-Themen 4
I Programm, welches eine Textzeile einliest und alle darin enthaltenen Buchstaben umwandelt Java Basics - Anfänger-Themen 3
S String ab dem Wechsel Buchstaben zu Zahlen splitten Java Basics - Anfänger-Themen 14
A Erste Schritte Buchstaben in zahlen umwandeln Java Basics - Anfänger-Themen 4
S Groß bzw. Klein Buchstaben umwandeln (gemischt) Java Basics - Anfänger-Themen 1
S Einzelne Buchstaben aus Jtextfield in array Java Basics - Anfänger-Themen 2
A OOP Buchstaben mit ASCII Werten darstellen Java Basics - Anfänger-Themen 1
M String überprüfen ob nur Buchstaben enthalten sind? Java Basics - Anfänger-Themen 10
E Buchstaben verhindern / Try & Catch Block Java Basics - Anfänger-Themen 3
B Zahlen und Buchstaben in cmd eingeben Java Basics - Anfänger-Themen 5
S nur Buchstaben in JTextField Java Basics - Anfänger-Themen 3
X String einzelne Buchstaben ersetzen Java Basics - Anfänger-Themen 4
V Zufallsgenerator für Buchstaben Java Basics - Anfänger-Themen 22
A Erste Schritte konsoleneingabe von Buchstaben Java Basics - Anfänger-Themen 3
K Methoden Kontrollstruktur versagt bei Buchstaben... Java Basics - Anfänger-Themen 6
E Buchstaben nach Größe vergleichen Java Basics - Anfänger-Themen 4
M Benennung nach Buchstaben Java Basics - Anfänger-Themen 18
M Erste Schritte zwei Buchstaben die im String enthalten sind ausgeben Java Basics - Anfänger-Themen 21
J Programm zum Buchstaben austauschen, logikproblem Java Basics - Anfänger-Themen 2
T keine buchstaben!nur zahlen eingabe möglich Java Basics - Anfänger-Themen 48
P toUpperCase() - Buchstaben die ersetzt werden als Großbuchstaben ausgeben Java Basics - Anfänger-Themen 5
R Regexp nur Buchstaben und Ziffener beliebig oft Java Basics - Anfänger-Themen 3
R buchstaben einlesen - fehlermeldung schreiben? Java Basics - Anfänger-Themen 9
M String (mit Buchstaben) zu Int Java Basics - Anfänger-Themen 6
D Buchstaben den jeweiligen Zahlen hinzufügen mit einer if. Java Basics - Anfänger-Themen 6
F Datentypen Zufällige Buchstaben vertauschen Java Basics - Anfänger-Themen 3
K Zahlen und buchstaben gemeinsam in ein array? Java Basics - Anfänger-Themen 17
F Leerzeichen zwischen jeden Buchstaben eines Strings einfügen Java Basics - Anfänger-Themen 16
H String zerlegen in einzelne Buchstaben (char)?? Java Basics - Anfänger-Themen 7
R In einem Palindrom 2 Buchstaben vergleichen Java Basics - Anfänger-Themen 16
J Anzahl der Buchstaben in einem String Java Basics - Anfänger-Themen 12
P Buchstaben: Haeufigkeitstabelle Java Basics - Anfänger-Themen 9
S String Elemente bzw. Buchstaben miteinander vertauschen? Java Basics - Anfänger-Themen 6
T JTextField max. 8 Zeichen, nur Buchstaben Java Basics - Anfänger-Themen 8
M jeden 2ten Buchstaben aus array Java Basics - Anfänger-Themen 6
C ASCII Codes in Buchstaben umwandeln Java Basics - Anfänger-Themen 2
J Buchstaben einlesen Java Basics - Anfänger-Themen 8
T Buchstaben an bestimmter Stelle aus String lesen Java Basics - Anfänger-Themen 5
A eingelesene String in buchstaben teilen Java Basics - Anfänger-Themen 9
D Suche in JList nach dem ersten Buchstaben Java Basics - Anfänger-Themen 2
G Griechische statt lateinischen Buchstaben beim Schreiben Java Basics - Anfänger-Themen 9
X Auswahl durch Eingabe von Buchstaben - aber wie? Java Basics - Anfänger-Themen 2
T Ersten Buchstaben in einem Wort groß schreiben. Java Basics - Anfänger-Themen 6
N alle "3er" Möglichkeiten aus 10 Buchstaben Java Basics - Anfänger-Themen 6
A Beliebiger String --> Buchstaben und Zahlen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben