String formatieren

Also mir wurde da nur einfallen, zu zaehlen wie lang der String ist, und solange der kleiner ist als ne vorgegebene Laenge ein Leerzeichen davor einzufuegen mittels while. Oder halt mit ner for schleife, so viele Leerzeichen wie noetig in einen String fuegen und den dann vor den andern String einfuegen.

Benutze bei dieser Lösung, aber bitte einen StringBuffer, da dieser für Stringoperationen gedacht ist und wesentlich schneller damit arbeitet (dort gibt es auch ein insert)
 
Hi,
habe jetzt eine Lösungsmöglichkeit und wollte es mit euch teilen.

Code:
String platzhalter = "                              "; // 30 Stellen
String s = "java"; // 4 Stellen
BigDecimal p = new BigDecimal(s.length());
BigDecimal c = new BigDecimal(platzhalter.length());
BigDecimal d = c.subtract(p);
int f = Integer.parseInt(d.toString());
String z = " "; // 1 Leerzeichen
String y = "";
for (int i = 0; i<f;i++){
	                                y = y+z;
                             }
String neu = y+s; // 30 Stellen (26 leer + Java)
Ist zwar bisschen rudimentär aber macht das was er soll :-)
Elegantere vorschläge sind willkommen.
 
Warum einfach wenns auch kompliziert geht oder wie?^^

Java:
StringBuffer result = new StringBuffer("java");
while (buffer.length()<30){
   result.insert(0," ");
}
 
hi Anime,
Hammerkurze Sache. Hat aber nicht geklappt.
Code:
StringBuffer result = new StringBuffer("java");
			StringBuffer buffer = new StringBuffer("                              ");
			System.out.println("buffer Länge=" + buffer.length());
			while (buffer.length()<30){   
					result.insert(0," ");
				} 
			System.out.println("resultlänge" + result.length());
woran liegt es?
 
@deepthroat
Haettest du den Thread gelesen, wuesstest du das er kein Java5 benutzt ;)
 
Zuletzt bearbeitet:
hi Anime,
Hammerkurze Sache. Hat aber nicht geklappt.
Code:
StringBuffer result = new StringBuffer("java");
			StringBuffer buffer = new StringBuffer("                              ");
			System.out.println("buffer Länge=" + buffer.length());
			while (buffer.length()<30){   
					result.insert(0," ");
				} 
			System.out.println("resultlänge" + result.length());
woran liegt es?
Vielleicht, weil du Versuchst den Platzhalter-StringBuffer auf 30 Zeichen zu bringen(den wir eh nicht brauchen), anstatt den "java" String?
 

Neue Beiträge

Zurück