fawio
ich habe eine Frage!
Wie kann ich die Texte in System.outprintln rechtsbündig und linksbündig machen und in Konsole ausgeben?
| code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
|
public void ausgabe()
{
System.out.println("Umsatzstatistik aus "+ jahr +
"\n "+
"\nMonat Umsatz-Summen:"+
"\n---------------------------------");
double gesamt = 0; int i = 0;
while( i < 12 )
{
System.out.println(monat[i]+" "+ monatsSummen[i]);
gesamt = gesamt + monatsSummen[i];
i++;
}
System.out.println("------------------------------------"+
"\n Gesamt "+ gesamt+ " Euro");
} |
|
monat[i]+" sollte linksbündig
+ monatsSummen[i] sollte rechtsbündig
Vielen Dank!
MfG
Nemani
bluescreen
also
soweit ich das weis gibt es das nich. Aber du kannst mit "\t" einen zeilenvorschub einfügen. Musst halt ein wenig mit rumtesten. links und rechtsbündig ist in word und etc extra programmiert. Wenn nich: zeige mir jemand meinen irtum;-)
survivor
Du könntest von der beabsichtigten Gesamtlänge der Zeile die Anzahl der Zeichen in monat[i] und monatsSummen[i] abziehen, dann hast du die Anzahl der benötigten Leerzeichen dazwischen sodass die Werte rechts- und linksbündig erscheinen. (Voraussetzung ist dabei natürlich, dass alle Zeichen gleich breit sind.)
Ich hätte dir gerne noch ein Beispielcode gegeben, aber ich habe vorgestern erst angefangen mich mit Java auseinanderzusetzen.
bluescreen
Ist die zeilenlänge in der Konsole nicht von der Größe des Konsolenfensters abhängig?
Und selbst wenn... wie soll er das abfragen?
| code: |
1:
2:
3:
4:
|
lpKonsole = CreateKonsolenLP();
lpKonsole->getLinWidth();
|
|
??.. kann ih mir nicht vorstellen ;-)
survivor
Eine "Standard"-Konsole hat 80 Zeichen pro Zeile, so lässt sich das schon so ungefähr berechnen. Aber du hast recht, es lässt sich nicht mit Sicherheit bestimmen.
Um jedoch deine Frage mal auf den Ursprungspost anzuwenden: Woher willst du wissen, dass "\n---------------------------------" genau in eine Zeile passt? Merkst du was? Es IST einfach nicht ohne irgendwelche Einschränkungen machbar. Meine Lösung geht halt einfach davon aus, dass man weiß, wieviele Zeichen garantiert in eine Zeile passen oder dies als Systemvoraussetzung festlegt. Es gibt ja genügend andere Programme, die eine bestimmte Bildschirm-Auflösung benötigen ...
bluescreen
hmm..
stimmt, daran hab ich garnicht gedacht. Aber wenn man die Größe der Konsole ändert, wird sie beim nächsten Aufruf in genau dieser Größe erneut aufgerufen. Also müssen diese Daten irgendwo gespeichert werden. Wenn man zugriff auf diese Daten hätte, könnte man sein Programm "anpassen".