Java Spaltenformatierung Anordnung

violentviper

Lt. Commander
Registriert
Mai 2008
Beiträge
1.821
Hallo,
ich bin Java Neuling und habe folgendes Problem. Ich soll eine Tabelle mit Zahlen von 0 bis 10 Programmieren, wo daneben die Quadratzahl sowie die Kubikzahl berechnet werden soll.
Aussehen soll das ganze so ( die Namen sollen natürlich in einem sauberen Abstand drüber stehen) .


Code:
number square cube
0 0 0
1 1 1
2 4 8
3 9 27
4 16 64
5 25 125
6 36 216
7 49 343
8 64 512
9 81 729
10 100 1000

Das berechen ist nicht die schwierigkeit, ich weiß nur nicht wie ich die Zeilen/Spalten ausgeben soll mittels dem System.out.println und System.out.print Befehl bekomme ich einfach nicht diese Anordnung hin.
 
Zuletzt bearbeitet:
kannst es ja für diesen einfachen Fall mal mit Tabulator versuchen, also \t

@Hades85
Nett, wieder was gelernt, hab zwar erst heute genau das gleiche bei Galileo gelesen, aber zu C ;-)
 
Zuletzt bearbeitet:
Code:
System.out.printf("%5d %5d %5\n" , Variable1, Variable2, Varible3);

Musst du natürlich in einer schleife durchlaufen lassen.

% Platzhalter für deine Variablen.

die Zahl 5 ist der Abstandshalter, bin gerade nicht sicher ob der sich von rechts oder links orientiert.

Das d steht für dezimalzahlen.

\n Zeilenumbruch


Alles was außerhalb der "" steht , sind deine Variablen.


http://openbook.galileocomputing.de/javainsel/javainsel_04_011.html
 
Der printf Befehl will bei mir nicht so ganz. Da bekomme ich immer den Fehler :"The method printf(String, Object[]) in the type PrintStream is not applicable for the arguments (String, int, int, int)"


Code:
public class 2 {

	public static void main(String[] args)
	{
		// TODO Auto-generated method stub
System.out.println( "number  sqaure  cube");

int x = 0;

System.out.printf("%5d %5d %5\n" , x, x*x, x*x*x);
x=1;

usw...
 
Einfacher Fehler ;)
Korrigiere in das:
Code:
...
System.out.printf("%5d %5d %5d\n" , x, x*x, x*x*x);
...

Edit:
Ich hoffe du schreibst nicht x=0, x=1, usw. Du kannst einfach eine Schleife machen.
Code:
for (int x=0; x < 11; x++) {
 System.out.printf("%5d %5d %5d\n" , x, x*x, x*x*x);
}
 
Zuletzt bearbeitet:
baizon schrieb:
Einfacher Fehler ;)
Korrigiere in das:
Code:
...
System.out.printf("%5d %5d %5d\n" , x, x*x, x*x*x);
...

Edit:
Ich hoffe du schreibst nicht x=0, x=1, usw. Du kannst einfach eine Schleife machen.
Code:
for (int x=0; x < 11; x++) {
 System.out.printf("%5d %5d %5d\n" , x, x*x, x*x*x);
}





Hm, deswegen erhalte ich immernoch den Fehler. Ich programmiere in der neusten Eclipse 32bit (Kepler R2) Version, eingestellt ist Java.

Code:
public class Aufg2 {

	public static void main(String[] args)
	{
		// TODO Auto-generated method stub
System.out.println( "number  sqaure  cube");


for (int x=0; x < 11; x++) {
System.out.printf("%5d %5d %5d\n" , x, x*x, x*x*x);

Hier mal ein Bild

 

Anhänge

  • bild.png
    bild.png
    18 KB · Aufrufe: 692
Zuletzt bearbeitet:
Wo kann ich die printf Version einsehen? Ich kenn Eclipse noch nicht lange. Mir wurde zur 32Bit Version geraten, obwohl ich ein 64bit OS habe. Dachte auch schon ob es daran liegt.
 
Zuletzt bearbeitet:
Vielen Dank für deine Hilfe! Es war 1.4 eingestellt. Mit dem Wechsel auf 1.5 funktioniert der Befehl wie beschrieben reibungslos, und somit auch das Programm. Die Schleifenlösung ist natürlich nobel. In der Musterlösung wird das ohne Schleifen gemacht, was dementsprechend viel Text ist.

Nur soweit ich weiß, sollen wir mit der 1.4 Version arbeiten laut Uni. Ich hätte aber kein Schmerz das einfach umzustellen :>.
 
Dann kannst du es, wie darkarchon beschrieben hat lösen.
Code:
System.out.println(x + " " + (x*x) + " " + (x*x*x) );
Damit brauchst du kein 1.5 Version.
 
Da ist der Abstand durch die Leerzeichen nicht so sauber und es kommt dementsprechend zu Verzerrungen. Da gefällt mir persönlich die 1.5er Lösung deutlich besser mit dem definierten Abständen. Ich seh kein Sinn eine alte Version zwingend zu verwenden, aber das ist ein anderes Thema.
 
Ich bin nicht allzu bewandert mit den verschiedenen Versionen von Java, aber wieso um Gottes Namen wird euch empfohlen mit einer Java Version von 2003 zu arbeiten?
 
Das versteh ich ehrlich gesagt auch nicht. Der Prof. meint, die Version sei erprobt und hätte keine bugs mehr. Aber er ist auch etwas "eigen", um es mal mild auszudrücken.
Aber Danke für eure tolle Hilfe nochmal!
 
OMG, das bestätigt doch mein Bild von Unis. Da bleib ich lieber auf einer FH.

Noch einen Tipp zu Anfang, auch wenn du erst gerade dabei bist dir das Proggen beizubringen, ich würde unbedingt die Code Convention einhalten.

http://www.techfak.uni-bielefeld.de/ags/pi/lehre/AuDIISS01/style_guide.pdf

Bei dir fiel es mir direkt ins Auge. Allein schon die Tatsache dass du die eröffnende geschweifte Klammer deiner Main Methode eins nach unten rückst. Habe ich bisher auch noch nie gesehen. Persönlich würde ich das sein lassen.
 

Ähnliche Themen

T
Antworten
0
Aufrufe
2.393
T
E
Antworten
2
Aufrufe
2.158
etheReal
E
Antworten
1
Aufrufe
1.562
Mr. Snoot
M
Zurück
Oben