Warum ist die Methode unendlich oft rekursiv?

Diskutiere Warum ist die Methode unendlich oft rekursiv? im Allgemeine Java-Themen Bereich.
R

Reykja

Java:
public class Aufgabe2 {

    private static void addTags(String text, char tag) {

        if (text.length() != 0){
            for (int i = 0; i < text.length(); i++) {
                System.out.print(tag);
            }
            System.out.print(text);
            for (int j = 0; j < text.length() ; j++) {
                System.out.print(tag);
            }
        }
        System.out.println();
    }
   
     private static void addTags(String text, String tags) {         //<-------- diese hier
        addTags(text, tags);
    }
   
    public static void main(String[] args) {
        String text0 = "A";
        String text1 = "AB";
        String text2 = "Hello!";
        String text3 = "-Java-";
        String text4 = " TEST ";

        addTags(text0, '?');
        addTags(text1, ',');
        addTags(text2, ':');
        addTags(text3, '-');
        addTags(text4, '+');

        addTags(1, '$');
        addTags(35, '*');
        addTags(657, ':');
        addTags(2048, '#');
        addTags(26348, '+');

        addTags(text1, "+#$");
        addTags(text2, ":*&!");

        addTags(text0);
        addTags(text1);
        addTags(text2);

    }
}
Aufgabenstellung:
Es wird am Anfang und am Ende von text ein Zeichen von tags so oft eingefügt, wie der String text lange ist.
 
H

httpdigest

Java:
     private static void addTags(String text, String tags) {         //<-------- diese hier
        addTags(text, tags);
    }
Naja, weil sich dieselbe Methode immer wieder selbst aufruft. Du hast zwar zwei Überladungen der Methode `addTags`, aber du rufst immer die (String, String) Überladung auf, da du ja den Parameter `tags` unverändert als String weiterreichst und nicht in seine char-Bestandteil aufteilst, was du vielleicht machen willst.
 
R

Reykja

z.B. soll
Java:
addTags ("AB", "+#$")
    ++AB++
    ##AB##
    $$AB$$
liefern
 
R

Reykja

Habs :)
Java:
 private static void addTags(String text, String tags) {
        int result = tags.length();
        if (text != null && tags != null) {
            for (int i = 0; i < result ; i++) {
                addTags(text, tags.charAt(i));
            }
        }
    }
 
Thema: 

Warum ist die Methode unendlich oft rekursiv?

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben