Mehrdimensionales Array füllen und kopieren!

Status
Nicht offen für weitere Antworten.

Souljacker

Mitglied
Also ich möchte ein zweidimensionales Array (also eine Matrix) mit 0 und 1 füllen (bzw. true, false oder speziell hier lebende Zelle, tote Zelle). Wenn ich das richtig verstanden habe sollte das so passen, oder?

Code:
public Shape(String name, Cell[][] shape){
        this.name = name;
        this.shape = shape;
    }

// Dead cell
static Cell d = new Cell(false);
// Living Cell
static Cell l = new Cell(true);
    
    static {
        BLOCK = new Shape("Block", new Cells[][] {{l,l}, {l,l}});
        BOAT = new Shape("Boat", new Cells[][] {{l,l,d}, {l,d,l}, {d,l,d}});
        STRUCTURES = new Shape[] { BLOCK, BOAT };
    }
Das sollte dann die Repräsentation von folgenden Objekten darstellen:
BLOCK -
block.png


BOAT -
boat.png


Wobei die gelben Zellen leben (bei mir 'l') und die grauen tot (bei mir 'd') sind.
 

0x7F800000

Top Contributor
ne. allgemein für multidimensionale arrays der klasse A sieht das eher so aus:
Code:
A[][] a= new A[][]{ 
   new A[]{x,y,z}, 
   new A[]{r,t,s},
   new A[]{u,v,w}
}
denn wenn du auf a zugreifst, kriegst du ja irgendwas vom typ A[] und nicht einfach irgendsoeine namenlose "{...}" klammer.
 

0x7F800000

Top Contributor
wobei, nja, es wäre schon denkbar sowas einzubauen, dass der compiler auch konstruktionen wie
Code:
A[][]{{...},{...}}
schluckt, aber da könnte es eines tages evtl schief laufen, wenn z.B. das erste und das zweite unterarray vom selben interface erben, aber doch irgendwas anderes machen, und dann will man an irgendeiner stelle irgendwas downcasten, und der compiler weiß nicht mehr was er sich da denken soll, weil er für alle untypisierten {...} blöcke nur das alllerallgemeinste interface genommen hat, und nichts genaueres mehr weiß.

Obwohl, kA, ich will drüber nicht nachdenken^^ Kostet doch nix, den typ nochmal hinzuschreiben... ;)
 
S

SlaterB

Gast
also die ursprüngliche Cell[][]-Definition ist schon gut, so macht man das überall auf der Welt,

was ist denn genau die Frage, geht was nicht?
 

Souljacker

Mitglied
Naja also ich hab mir jetzt noch zwei weitere Methoden geschrieben um mir aus dem STRUCTURES-array das entsprechende Element zu holen:

Code:
   // Get array of shapes
    public static Shape[] getShapes() {
        return STRUCTURES;
    }

    // Get shape by its name
    public static Shape getShapeByName(String name) {
        Shape[] shapes = getShapes();

        for (int i = 0; i < shapes.length; i++) {
            if (shapes[i].getName().equals(name)) {
                return shapes[i];
            } 
        } 
        
    }

Jetzt will er von mir ein return-Statement in der Methode "getShapeByName"??? Aber er hat doch eins...was kapier ich den hier nicht?
 
G

Guest

Gast
Souljacker hat gesagt.:
Jetzt will er von mir ein return-Statement in der Methode "getShapeByName"??? Aber er hat doch eins...was kapier ich den hier nicht?
Er hat eins. Ist aber ein bedingtes return. Es ist nicht garantiert, dass er dieses return erreicht. Du brauchst auch ein return ausserhalb deiner Schleifenkonstruktion.
 

Souljacker

Mitglied
Hmmm, okay versteh ich das er das return-Statement nicht unbedingt erreicht. Also z.B. wenn der Shape-Name nicht vorkommt. Aber wie müsste den das return-Statement außerhalb der for-Schleife aussehen damit ich auch den Shape kriege den ich haben will (vorrausgesetz er existiert).

Wenn ich mir jetzt ein "leeres" Shape definiere und dann einen else-Zweig ans if dranhänge und dort dieses leere Shape returne, dann beschwert er sich auch. Liegts dann an der for-Schleife?
 
G

Gast

Gast
return null;
Wäre zum Beispiel eine Möglichkeit. Damit kann einer der auf die Methode zugreift auch was anfangen ("ah, ich bekomm null zurück, also hat er ihn nicht gefunden." Darauf kann er reagieren).
 
G

Gast

Gast
Achja, ganz vergessen:
Ja, liegt an der for.
In einer for ist auch eine Bedingung. Wenn shapes.length = 0 wäre, würde er nie in die Schleife hineingehen.
 

Souljacker

Mitglied
Okay, das ganze sieht jetzt so aus...

Code:
public static Shape getShapeByName(String name) {
        Shape[] shapes = getShapes();

        for (int i = 0; i < shapes.length; i++) {
            if (shapes[i].getName().equals(name)) {
                return shapes[i];
            }
        }

        return null;
    }

Ich dachte nur das er mir dann immer null zurück gibt...?
 
G

Gast

Gast
So siehts gut aus ;)

Ne, er gibt dir nicht immer null zurück. Sobald ein return aufgerufen wird, geht er ja aus der Methode.
Sprich: Kommt er ins if, kann er gar nicht mehr bis zum return null; kommen.
null gibt er dir nur zurück, wenn nichts gefunden wurde.
 

Souljacker

Mitglied
Ah gut, Danke! Jetzt möchte ich ein mehrdimensionales Array in ein größeres mehrdimensionales Array kopieren.

Hab mir das so vorgestellt:


Code:
System.arraycopy(array1, 0, array2, 0, array1.length);

Funktioniert das so überhaupt für mehrdimensionale Arrays?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Mehrdimensionales Array füllen Java Basics - Anfänger-Themen 1
AleXusher Mehrdimensionales Array aus txt.file auslesen Java Basics - Anfänger-Themen 4
OZAN86 Mehrdimensionales Array Java Basics - Anfänger-Themen 4
W Eigener Iterator soll mehrdimensionales Array durchlaufen Java Basics - Anfänger-Themen 4
nightsky_ Mehrdimensionales Array mit flatMap() ausgeben lassen Java Basics - Anfänger-Themen 6
N Alternative für mehrdimensionales Array Java Basics - Anfänger-Themen 25
K Mehrdimensionales Array Java Basics - Anfänger-Themen 4
Y Mehrdimensionales Array diagonal abfragen. Java Basics - Anfänger-Themen 5
N Mehrdimensionales float Array aus .txt-Datei einlesen? Java Basics - Anfänger-Themen 17
F Mehrdimensionales Array durchsuchen Java Basics - Anfänger-Themen 8
N Unsymmetrisches mehrdimensionales Array in eindimensionales umwandeln Java Basics - Anfänger-Themen 2
S Mehrdimensionales Array sortieren Java Basics - Anfänger-Themen 3
H Mehrdimensionales Array - Inhalt auf Null überprüfen Java Basics - Anfänger-Themen 5
J mehrdimensionales array Java Basics - Anfänger-Themen 2
M Mehrdimensionales Array initialisieren Java Basics - Anfänger-Themen 3
M Methoden Daten aus einer SQL-Abfrage in eine mehrdimensionales Array einlesen Java Basics - Anfänger-Themen 7
F.S.WhiTeY Mehrdimensionales array, größere zahlen von innen nach außen Java Basics - Anfänger-Themen 3
S Mehrdimensionales Char-Array initialisieren Java Basics - Anfänger-Themen 17
Joy drei- und mehrdimensionales Array deklarieren Java Basics - Anfänger-Themen 9
D Datentypen mehrdimensionales Array meherer Typen möglich ? Java Basics - Anfänger-Themen 6
E Mehrdimensionales Array automatisch befüllen Java Basics - Anfänger-Themen 9
Z mehrdimensionales Array, Matrix "invertieren" Java Basics - Anfänger-Themen 4
B Mehrdimensionales Array + Tiefe Java Basics - Anfänger-Themen 4
F Mehrdimensionales Array zweite Diemnsion später Konstruieren? Wie Java Basics - Anfänger-Themen 2
B Mehrdimensionales Array Java Basics - Anfänger-Themen 9
bigbasti Mehrdimensionales Array instanzieren Java Basics - Anfänger-Themen 10
K Größe, mehrdimensionales Array Java Basics - Anfänger-Themen 6
D Mehrdimensionales Array Java Basics - Anfänger-Themen 6
D String in mehrdimensionales Array Java Basics - Anfänger-Themen 7
D Mehrdimensionales Array sortieren Java Basics - Anfänger-Themen 5
S Mehrdimensionales Array+Methode+Rückgabeschwierigkeiten Java Basics - Anfänger-Themen 8
J Mehrdimensionales Array im Http-Request Java Basics - Anfänger-Themen 5
I dynamische mehrdimensionales Array Java Basics - Anfänger-Themen 8
G Rückgabe mehrdimensionales Array Java Basics - Anfänger-Themen 3
L zahlen in mehrdimensionales array einlesen Java Basics - Anfänger-Themen 3
C mehrdimensionales Object sortieren Java Basics - Anfänger-Themen 4
A Datentypen Größe eines mehrdimensionales Arrays Java Basics - Anfänger-Themen 4
C Problem: Mehrdimensionales Arry Java Basics - Anfänger-Themen 10
A mehrdimensionales ArrayList Java Basics - Anfänger-Themen 7
T Array verkleinern Java Basics - Anfänger-Themen 2
J Array aus Numberfield Eingaben Java Basics - Anfänger-Themen 7
D Array List mit Objekten sortieren Java Basics - Anfänger-Themen 2
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
Ü Zweidimensionales Array in der ersten Zeile deklarieren Java Basics - Anfänger-Themen 13
Thomas Uppe 2D Array Reihenfolge vermischen Java Basics - Anfänger-Themen 4
T array auslesen Java Basics - Anfänger-Themen 2
Nitrogames Variablen Variable aus JOptionPane Abfrage in Array einfügen Java Basics - Anfänger-Themen 4
moini Auf Array aus Superklasse zugreifen? Java Basics - Anfänger-Themen 2
J ArrayList in 2D-Array konvertieren. Java Basics - Anfänger-Themen 48
M NullPointerException: Cannot read the array length because "this.Kinder" is null Java Basics - Anfänger-Themen 1
P Wieso kann ich als Index für einen Array einen Char angeben? Java Basics - Anfänger-Themen 3
Finn_lol Fehlermeldung bei Schleife mit Array Java Basics - Anfänger-Themen 4
Proxy Chars vor array übergabe toLowerUpcase Java Basics - Anfänger-Themen 14
iAmFaiinez Primzahlen Tester ohne Array Java Basics - Anfänger-Themen 4
S array 2 dimensional treppe Java Basics - Anfänger-Themen 3
S Array 2x2 Blöcke mit 0 und 1 Java Basics - Anfänger-Themen 10
C Array von Klassen Java Basics - Anfänger-Themen 2
julian0507 2Dim-Array Spaltensummen Java Basics - Anfänger-Themen 1
XWing Doppelte Zahlen im Array Java Basics - Anfänger-Themen 8
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
W Items löschen aus String Array vom Custom Base Adapter Java Basics - Anfänger-Themen 2
Proxy Stack erweitern mit neuem Array falls der alte voll ist!? Java Basics - Anfänger-Themen 5
E Array, nächste Zahl zur 5 ausgeben, wie? Java Basics - Anfänger-Themen 42
J Array.list vergleichen Java Basics - Anfänger-Themen 1
W Java-Code mit Array Java Basics - Anfänger-Themen 14
D Reflections & Generisches Array Java Basics - Anfänger-Themen 4
T Array Java Basics - Anfänger-Themen 2
T Array Java Basics - Anfänger-Themen 15
T Wörteranzahl im Array zählen Java Basics - Anfänger-Themen 9
Ostkreuz Zweidimensionaler Array Index Java Basics - Anfänger-Themen 2
S String Array Buchstaben um einen gewissen Wert verschieben Java Basics - Anfänger-Themen 4
R Images aus einem Array ausgeben Java Basics - Anfänger-Themen 3
R 2d Array individuell machen Java Basics - Anfänger-Themen 4
D 2D Char Array into String Java Basics - Anfänger-Themen 2
J Array Median bestimmen Java Basics - Anfänger-Themen 6
S Array Maximum bestimmen mit for und foreach Java Basics - Anfänger-Themen 7
S Prüfen ob ein zweidimensionales Array rechteckig ist Java Basics - Anfänger-Themen 4
N Array Java Basics - Anfänger-Themen 1
J Array Mittleren Wert bestimmen Java Basics - Anfänger-Themen 2
D OOP Array einem Objekt zuweisen Java Basics - Anfänger-Themen 2
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
S leeres Array statt Null Pointer Exception ausgeben Java Basics - Anfänger-Themen 20
S Inhalte aus Array vergleichen und Max ausgeben Java Basics - Anfänger-Themen 3
M 2d array ohne längen anlegen Java Basics - Anfänger-Themen 4
S Bestimmte werte aus einem Array löschen Java Basics - Anfänger-Themen 2
S Ausgeben wie oft ein Wert in einem Array vorkommt Java Basics - Anfänger-Themen 7
E Reihenfolge der Werte umdrehen (mittels statischem int-Array Java Basics - Anfänger-Themen 3
O 2 Dimensionales Array Java Basics - Anfänger-Themen 6
M Bubble Sort - Int[] Array sortieren Java Basics - Anfänger-Themen 2
javaBoon86 Array mehrere Dimensionen Java Basics - Anfänger-Themen 10
B Array nach Elementwerten sortieren? Java Basics - Anfänger-Themen 1
B Explizit Array definieren geht nicht? Java Basics - Anfänger-Themen 14
D Kleinste Zahl in Array finden die vorher noch errechnet werden müssen. Java Basics - Anfänger-Themen 4
L Gegebenes Array sortieren, indem zufällige Zahlenpaare aus Array ausgewählt werden Java Basics - Anfänger-Themen 14
Say 2-DIM Array Code lesen und verstehen Java Basics - Anfänger-Themen 5
N Array beim erstellen mit Werten füllen Java Basics - Anfänger-Themen 6
C Java Array Struktur, welche ist wann besser? Java Basics - Anfänger-Themen 12
Temsky34 Array IndexOf nicht verfügbar Java Basics - Anfänger-Themen 18

Ähnliche Java Themen

Neue Themen


Oben