Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Theoretische Informatik » Logik » Strings - Zeichen vergleichen » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Strings - Zeichen vergleichen
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Tina_92
unregistriert
Strings - Zeichen vergleichen Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Meine Frage:
Hi zusammen,

ich bringe gerade keine Abbruchbedingung für folgende Aufgabe hin:

Given a string, compute recursively (no loops) the number of lowercase 'x' chars in the string.

countX("xxhixx") ? 4
countX("xhixhix") ? 3
countX("hi") ? 0




Meine Ideen:
Mein Code:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:

package string_rekursiv;

public class String_Rekursiv 
{
    public static void main(String[] args) 
    {
        System.out.println(countX("xxhi"));
    }    

    static int countX (String str)
    {
        char [] array = new char [str.length()];
        array = str.toCharArray();
        
        
        int i=0;
        if (i<array.length)
        {
            return array[i]=='x'?1 + countX(str) :0 + countX(str);
        }
        return 0; 



Wie schaffe ich es denn, dass meine rekursive Funktion nach einer gewissen Anzahl an Durchlaufen abbricht?



Vielen Dank!
16.11.2015 23:33
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Du musst den Index, wo du gerade liest, mit an die Funktion übergeben.

Das str.toCharArray() kannst du dir sparen (braucht unnötig Speicher), str.charAt(index) tut es auch.

__________________
Syntax Highlighting fürs Board (Link)
17.11.2015 06:47 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Tina_92
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Danke für die Antwort. Aber ich darf doch der Funktion nicht einfach ein Integer hinzufügen?
20.11.2015 10:35
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Dann ruft eben countX(String) countX(String, 0) auf, wenn du den Kopf nicht ändern darfst.

__________________
Syntax Highlighting fürs Board (Link)
20.11.2015 15:32 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Theoretische Informatik » Logik » Strings - Zeichen vergleichen