# formatierte ausgabe -> probleme mit tabulator abstand



## hdi (9. Okt 2008)

hey,

wenn ich mehere Strings formatiert zeilenweise ausgeben will, zB:



> <Time> @<MethodName>                    <Text>



dann realisiere ich das so:


```
for(...){
      System.out.println(time + " @" + method + "\t\t" + message);
}
```

Leider sind die verschiedenen Methodennamen unterschiedlich lang,
und somit sind die einzelnen Messages nicht unbedingt schön untereinander, d.h. auf gleicher Höhe,
sondern verschoben (durch die Tabs).

Wie kann ich das denn so machen, dass sie immer schön gleich untereinander erscheinen?
Muss ich mir dafür irgendwie eine Tabelle basteln?

danke


----------



## Leroy42 (9. Okt 2008)

hdi hat gesagt.:
			
		

> Wie kann ich das denn so machen, dass sie immer schön gleich untereinander erscheinen?
> Muss ich mir dafür irgendwie eine Tabelle basteln?



Das geht wohl nur _zu Fuß_: Also längsten Methodennamen vorher bestimmen
und dann die fehlenden _Leerstellen_ händisch ausgeben


----------



## musiKk (9. Okt 2008)

Den längsten String zu finden, wird dir nicht abgenommen, aber immerhin die Leerzeichen kannst du mit printf aufwandslos erzeugen:

```
System.out.printf("%30s\n", s);
```
wenn s der String und 30 die Breite ist. (Wenns linksbündig sein soll -30.)


----------



## hdi (10. Okt 2008)

krass Oo. dachte nicht das es so umständlich (wenn auch nicht schwer) gemacht werden muss..

in c++ gibts ja dafür ne komplette klasse die sich um so dinger kümmert. naja egal danke für die hilfe


----------

