# Zeichen mehrmals Ausgeben



## Lybrial (9. Nov 2010)

Hallo,

eigentlich total simples Programm aber es bereitet mir Kopfzerbrechen, denke
mal das ist wieder so ein winzig kleiner Fehler auf den man allein net kommt 


```
public class Weihnachtsbaum
{
	public static void printKette(char zeichen, int start, int laenge)
	{
		char leerzeichen = ' ';
		String zeichenkette = " ";
		String zeichenketteA = " ";
		
		for(int i = 1; i < start; i++)
		{
			zeichenkette = " "+leerzeichen;
		}
		
		for(int i = 0; i < laenge; i++)
		{
			zeichenketteA = ""+zeichen;
		}
		System.out.print(zeichenkette+zeichenketteA);
	}
	
	public static void main(String[] args)
	{
		printKette('a', 3, 10);
	}
}
```

Ich wollte mit dem Programm einfach nur mal so das zugreifen auf Methoden ausprobieren.
Jetzt frage ich mich allerdings warum er mir das nicht korrekt ausgibt. Kann man das 
mit Strings nicht machen, das man die in jedem schleifenschritt um einen char erhöht?


----------



## Michael... (9. Nov 2010)

Die Schleifen sind unnützt. 
Wenn wenn Du an einen String etwas anhängen willst musst Du das auch tun;-)

```
String text = "";
text = text + "a";
//oder kurz:
text += "a";
```
Für umfangreicherer Textverknüpfungen sollte man aber StringBuffer bzw. StringBuilder verwenden.


----------



## bone2 (9. Nov 2010)

ähm die beiden schleifen ersetzen den inhalt des strings doch immer wieder mit dem selben text


----------



## Lybrial (9. Nov 2010)

hat sich erledigt :/


----------



## sambalmueslie (9. Nov 2010)

Kleiner Tipp noch zum zusammebauen von Strings nimmst du besser die Klasse StringBuffer

Dann wird:

```
String text = "Text";
text += "anhang";
```

zu

```
StringBuffer buffer = new StringBuffer("Text");
buffer.append("anhang");
```

Gruß Oli


----------



## evrem (6. Dez 2017)

hallo zusammen,

wie kann ich in einer rekursive Methode 5 mal 'x' hintereinander schreiben. "xxxxx"


----------



## truesoul (6. Dez 2017)

evrem hat gesagt.:


> hallo zusammen,
> 
> wie kann ich in einer rekursive Methode 5 mal 'x' hintereinander schreiben. "xxxxx"



In dem du ein counter (int) der Methode mitgibst und solange die Methode sich selber aufruft wie der counter < 5 (wenn von 0 gestartet) ist.


----------



## evrem (6. Dez 2017)

truesoul hat gesagt.:


> In dem du ein counter (int) der Methode mitgibst und solange die Methode sich selber aufruft wie der counter < 5 (wenn von 0 gestartet) ist.


ich komme nicht ganz zurecht . Könntest du mir Code reinschreiben


----------



## truesoul (6. Dez 2017)

evrem hat gesagt.:


> ich komme nicht ganz zurecht . Könntest du mir Code reinschreiben



Pseudo Code


```
meineMethode(int counter){
   
    // Gibt ein # mit print() in der Console aus (Beispiel)
    // Wenn du ein String haben möchtest musst du ein zweiten Parameter mit geben und dem String ein # hiinzufügen
   
    Wenn counter < 5
        meineMethode(counter +1)
}
```

Und wenn du ein String haben möchtest, dann musst du natürlich den Code anpassen. Ein zweiten parameter (String).
Ein # bei jedem Aufruf hinzufügen und ein Return.


----------

