Ausgabe einer Matrix mit System.out.println

deggit_biber

Aktives Mitglied
Hallo ich habe gerade folgendes Problem.
Ich erstelle mir ein nxn doppeltes Array und lasse es so befüllen, dass es ein magisches Quadrat (Summe der Zeilen und Spalten sind gleich) ergibt. klappt alles. Mein Problem liegt bei der Ausgabe! Ich möchte es per System.out.println ausgeben aber als Matrix. An der Ausgabe sitze ich jetzt schon echt lange aber elegant klappt es nicht, ich hab es unelegant hinbekommen, aber seht am besten selber ;-)

Erstellen des Arrays
Java:
public class magisches_quadrat
{
    private int [][] quad;
    private int n;
 
    magisches_quadrat(int n)              
    {
        this.n = n;
        quad = new int [n][n];
    }
}

Das Array im Sinne des magischen Quadrats befüllen
Java:
public void fuellen()
    {
        int z = 0;
        //int s = 1;
        int s = n / 2;
        int zAlt;
        int sAlt;
     
        for (int i = 1; i <= n*n; i++)    //for-Schleife zum Befüllen
        {
            //Wert in das Quadrat schreiben
            quad[z][s] = i;
         
            //Koordinaten puffern
            zAlt = z;
            sAlt = s;
         
            //Ein hoch und einen nach rechts
            z = z - 1;
            s = s + 1;
         
            //Die drei möglich Fälle durchspielen
            //Fall 1: Oben über den Rand -> In die unterste Reihe springen
            if (z < 0)
            {
                z = n - 1;
            }
         
            //Fall 2: Rechts über den Rand -> In die linke Spalte springen
            if (s > n-1)
            {
                s = 0;
            }
         
            //Fall 3: Im Feld ist bereits eine Zahl -> Zum letzten ausgefüllten Feld und einen Tiefer springen
            if (quad[z][s] != 0)
            {
                //z und s auf die Positionen setzen (bevor "Ein hoch und einen nach rechts" ausgeführt wurde), dann in der Zeile noch einen runter gehen
                z = zAlt + 1;
                s = sAlt;
            }
        }
    }

Ausgabe elegant aber nicht als Matrix (jede Zahl in einer Zeile)
Java:
 public void ausgabe_zeilenweise()
    {
        for (int i = 0; i < quad.length; i++)          //Zeile durchlaufen
        {
            for (int j = 0; j < quad[i].length; j++)          //Spalte durchlaufen
            {
                    System.out.println(quad[i][j]);             
            }
            System.out.println();
        }
    }

Ausgabe als Matrix aber sehr unelegant ;-)
Java:
public void ausgabe2()
    {
        for (int i = 0; i < quad.length; i++)       
        {
            if (n == 3)
            {
                System.out.println(quad[i][0] +" " +quad[i][1] +" " +quad[i][2]);             
            }
            else if (n == 5)
            {
                System.out.println(quad[i][0] +" " +quad[i][1] +" " +quad[i][2] +" " +quad[i][3] +" " +quad[i][4]);             
            }
            else if (n == 7)
            {
                System.out.println(quad[i][0] +" " +quad[i][1] +" " +quad[i][2]+" " +quad[i][3] +" " +quad[i][4] +" " +quad[i][5] +" " +quad[i][6]);             
            }
            else if (n == 9)
            {
                System.out.println(quad[i][0] +" " +quad[i][1] +" " +quad[i][2]+" " +quad[i][3] +" " +quad[i][4] +" " +quad[i][5] +" " +quad[i][6] +" " +quad[i][7] +" " +quad[i][8]);           
            }
            else if (n == 11)
            {
                System.out.println(quad[i][0] +" " +quad[i][1] +" " +quad[i][2]+" " +quad[i][3] +" " +quad[i][4] +" " +quad[i][5] +" " +quad[i][6] +" " +quad[i][7] +" " +quad[i][8] +" " +quad[i][9] +" " +quad[i][10]);            
            }
        }
    }

ihr seht meine Lösung des Problem ist vielleicht kreativ aber nicht schön. Wenn mir da jemand unter die Arme greifen können, wäre ich wirklich sehr dankbar!!!

viele liebe Grüße,
 
Zuletzt bearbeitet von einem Moderator:

VfL_Freak

Top Contributor
Moin,

>> Ich möchte es per System.out.println ausgeben aber als Matrix
Ich bin sicher, Du glaubst damit was gesagt zu haben ..... aber verstehen tue ich es nicht :confused:

Gruß Klaus
 

Meniskusschaden

Top Contributor
Du könntest in deiner Version "elegant-aber-keine-Matrix" in der inneren Schleife print statt println benutzen.

Falls es println sein muß weil print in der Aufgabenstellung verboten ist, kannst du alternativ in der inneren Schleife einen String mit allen Spaltenergebnissen der aktuellen Zeile aufbauen, den du in der äußeren Schleife ausgibst.
 

deggit_biber

Aktives Mitglied
Hallo,
danke euch beiden, dass ihr einmal drüber geschaut habt

@Klaus:
Ich meine mit der Ausgabe in einer Matrix sowas
1 5 7
8 9 2
3 4 6

@Meniskusschaden
ja mit print statt println geht es. bis jetzt kannte ich halt nur println
bedeutet das print in diesen Fall, er gibt alles in einer Zeile aus bis das nächste print kommt?
Ich teste das mal ;-)

Danke für die schnelle Hilfe! Ich hab da echt lange dran gesessen und es ist wie immer so einfach!!! Danki
 

InfectedBytes

Top Contributor
print gibt einfach genau das aus was du ihm als parameter gibst. println (kurzform von print line) gibt den übergebenen parameter aus und fügt am ende einen zeilenumbruch ein
 

Joose

Top Contributor
Bei "print" gibt er einfach alles aus, bei "print" gibt er ebenfalls alles aus aber hängt noch einen Zeilenumbruch hintendran

EDIT: zu spät
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
G Problem bei der Ausgabe einer Main Claase Java Basics - Anfänger-Themen 7
T Ausgabe einer for Schleife Java Basics - Anfänger-Themen 2
M Ausgabe einer Liste welche mehrere Stacks enthält Java Basics - Anfänger-Themen 3
M Ausgabe einer kleinen Aufgabe Java Basics - Anfänger-Themen 2
TomatenBrot447 Mit toString eine Ausgabe liefern wie in einer schon implementierten Methode ? Java Basics - Anfänger-Themen 13
TomatenBrot447 Mit toString eine Ausgabe liefern wie in einer schon implementierten Methode ? Java Basics - Anfänger-Themen 1
S Programm zum Einlesen einer Zahl und Ausgabe der Wurzel Java Basics - Anfänger-Themen 13
A Ausgabe einer Division Java Basics - Anfänger-Themen 11
M Ausgabe einer ArrayList auf einem Label Java Basics - Anfänger-Themen 4
Dogge URL-Ausgabe/Verarbeitungsproblem mittels einer Applikation Java Basics - Anfänger-Themen 2
D Prüfung zur korrekten Ausgabe einer Methode Java Basics - Anfänger-Themen 2
M Ausgabe einer gerade Zahl nur mit Addition,subtraktion und vergleichsoperatoren! Java Basics - Anfänger-Themen 4
C Programm zur Ausgabe einer ausgewählten Methode Java Basics - Anfänger-Themen 2
H Ausgabe in einer Zeile Java Basics - Anfänger-Themen 4
JeromeM90 Problem bei einer Ausgabe von einem bestimmten Zeichen Java Basics - Anfänger-Themen 5
A Ausgabe einer variablen im textfeld Java Basics - Anfänger-Themen 3
R JSP: Ausgabe einer entfernten Webseite in Variable einlesen Java Basics - Anfänger-Themen 2
K Ausgabe problem in einer Hausaufgabe Java Basics - Anfänger-Themen 5
H Hilfe bei Ausgabe in einer Datei. Java Basics - Anfänger-Themen 5
C Ausgabe in Dos-Konsole, die von einer GUI gestartet wird. Java Basics - Anfänger-Themen 2
I VisualClass: Ausgabe einer Variable Java Basics - Anfänger-Themen 2
A Problem mit Ausgabe einer Liste über einen Client Java Basics - Anfänger-Themen 5
X Arrays - Erstellen einer Klasse zur Ausgabe von Reihen etc. Java Basics - Anfänger-Themen 12
N Ausgabe des Inhalts eines String Arrays in einer ArrayList Java Basics - Anfänger-Themen 4
ven000m Rautenstern mit nur einer System.xx Ausgabe! Java Basics - Anfänger-Themen 21
B Ausgabe in bestimmte Zeile einer html Datei Java Basics - Anfänger-Themen 12
D rekursive ausgabe einer zahl Java Basics - Anfänger-Themen 14
P Berechnen des Klassendurchschnitts und Ausgabe einer Kurve Java Basics - Anfänger-Themen 3
C Ausgabe in einer Datei Java Basics - Anfänger-Themen 2
N geschachtelte ausgabe einer zeichenkette Java Basics - Anfänger-Themen 5
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
M Ausgabe beim Overloading Java Basics - Anfänger-Themen 3
H Frage zur Ausgabe Java Basics - Anfänger-Themen 4
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
S Einfach-Verkettete-Listen Ausgabe zeigt nur 1. und letzte instanz Java Basics - Anfänger-Themen 2
T float soll durch schleife die größte mögliche Zahl herausfinden, Ausgabe ist aber "Infinity" Java Basics - Anfänger-Themen 1
B Binärzahlen auflisten, falsche Ausgabe? Java Basics - Anfänger-Themen 1
M Java Ausgabe der höchsten Zahl Java Basics - Anfänger-Themen 14
M Erste Schritte While Schleife / Ausgabe von buchstabe & ASCII Wert Java Basics - Anfänger-Themen 4
W Streams in Java und was bedeutet meine Konsolen-Ausgabe? Java Basics - Anfänger-Themen 4
B Automatisierte Ausgabe (Schleife, If-Abfrage?) Java Basics - Anfänger-Themen 24
C 2D Array Ausgabe mit for-Schleife i,j Java Basics - Anfänger-Themen 4
B Deadlock verstehen der Ausgabe! Java Basics - Anfänger-Themen 12
Lion.King Ausgabe mit Eigenschaften Java Basics - Anfänger-Themen 4
D Java Pattern mit X Ausgabe Stern Java Basics - Anfänger-Themen 4
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 0
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 5
Xaver code Tastatur ausgabe Java Basics - Anfänger-Themen 4
R Anfänger: Ausgabe kommt minus raus? Java Basics - Anfänger-Themen 6
K Leerzeile in Konsolen-Ausgabe Java Basics - Anfänger-Themen 4
K Zweite Ausgabe von vererbten Klassen Java Basics - Anfänger-Themen 3
Q return Ausgabe Java Basics - Anfänger-Themen 4
C Java Arrays - Ausgabe in Methode Java Basics - Anfänger-Themen 12
D Best Practice Ausgabe über direkte Ausgabe oder try-catch? Java Basics - Anfänger-Themen 13
S Ausgabe des Variablenwerts Java Basics - Anfänger-Themen 10
I Ausgabe nicht nur senkrecht sondern auch waagerecht. Java Basics - Anfänger-Themen 2
paulen1 Methoden Unerwünschte Ausgabe bei System.out.print in For-Schleife Java Basics - Anfänger-Themen 8
C Ausgabe boolean return ((n==9)||(n==0)); Java Basics - Anfänger-Themen 13
F Double Ausgabe nicht wissenschaftlich Java Basics - Anfänger-Themen 16
danieldemetry Java - Graph Komponenten - Ausgabe Java Basics - Anfänger-Themen 0
S Fragen zu Ausgabe double und float Java Basics - Anfänger-Themen 3
B Ausgabe in TextArea funktioniert nicht Java Basics - Anfänger-Themen 2
D BigDecimal Ausgabe sehr lang. Java Basics - Anfänger-Themen 2
J String Ausgabe Java Basics - Anfänger-Themen 2
TimoN11 IntelliJ , Ausgabe von einem Quellcode in Eingabe eines Quellcodes Java Basics - Anfänger-Themen 1
Kalibru Problem bei Ausgabe von Objekt Java Basics - Anfänger-Themen 1
KogoroMori21 Array-Ausgabe Java Basics - Anfänger-Themen 6
JaVaN0oB Wörterraten - Falsche Ausgabe, String/Chars vergleichen Java Basics - Anfänger-Themen 2
E Ausgabe überschreiben Java Basics - Anfänger-Themen 15
D Ausgabe von Array Java Basics - Anfänger-Themen 2
U Ausgabe Java Basics - Anfänger-Themen 4
J Buchstabenhäufigkeit mit Array und Ausgabe des häufigsten Buchstaben Java Basics - Anfänger-Themen 25
V Multiplikationstafel - Ausgabe Java Basics - Anfänger-Themen 4
L Warum ist die Ausgabe anders als das was im Bezeichner steht? Java Basics - Anfänger-Themen 4
M In gleicher zeile hinter ausgabe noch etwas ausgeben Java Basics - Anfänger-Themen 1
newcomerJava Nach doppelter Zahl eine Ausgabe Java Basics - Anfänger-Themen 10
H Falsche Ausgabe Java Basics - Anfänger-Themen 2
P Klassenübergreifende Ausgabe mittels "getter" nicht möglich Java Basics - Anfänger-Themen 21
R Call-by-Value, Call-by-Reference, Call-by-Name Ausgabe Java Basics - Anfänger-Themen 1
JavaClap "Bruchrechner" liefert Fehler/keine Ausgabe bei Addition und Subtraktion Java Basics - Anfänger-Themen 0
D Warum erfolgt folgende Ausgabe und warum? Java Basics - Anfänger-Themen 4
C Ausgabe in der Konsole Java Basics - Anfänger-Themen 11
M Problem bei Ausgabe Java Basics - Anfänger-Themen 7
C Konvertierung des int typs in den double typ für die Ausgabe mit Nachkommastellen Java Basics - Anfänger-Themen 4
A Ausgabe mit boolean Java Basics - Anfänger-Themen 3
K Probleme bei der Ausgabe - komme nicht weiter :/ Java Basics - Anfänger-Themen 15
Y Methode + Parameters + Ein und Ausgabe Java Basics - Anfänger-Themen 1
K Methodenaufruf /-ausgabe Java Basics - Anfänger-Themen 5
A Wiederholte Ausgabe vermeiden Java Basics - Anfänger-Themen 16
B Collections Objektreferenz-ID in der Ausgabe (Comparator Interface) Java Basics - Anfänger-Themen 2
M Wie analysiert JSON eine toString-Ausgabe ? Java Basics - Anfänger-Themen 1
T Vererbung Verschiedene Fahrzeugtypen mit unterschiedlicher Ausgabe Java Basics - Anfänger-Themen 17
S Elemente eines Arrays bei Ausgabe auslassen Java Basics - Anfänger-Themen 2
T Text-Ausgabe für Textadventure - Organisation Java Basics - Anfänger-Themen 5
G Unterklassen (Klasse für Ausgabe) Java Basics - Anfänger-Themen 4
N Eingabe des Users direkt hinter die Ausgabe Java Basics - Anfänger-Themen 3
J Methode zur Ausgabe eines Dreiecks aus Sternen schreiben? Java Basics - Anfänger-Themen 2
ZH1896ZH Wieso diese Ausgabe?? Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben