Array wird nicht durchlaufen

Akkulader

Mitglied
Moin moin

Ich habe folgendes Problem:
In dem Code unten sollte ich eine Array von Klassen machen.
Dieses sollte ich dann mit einer foreach-Schleife durchgehen - dann die Methode " List <Class> actors= getWorld().getObjects(klasse);" anwenden (sie gibt mir Objekte statt Klassen aus)

Diese Liste soll ich wieder mit einer foreach-Schleife durchlaufen und die Ergebnisse in "travelguide.changeMap(map).addObject( (Actor) object,xLocation, yLocation);" eintragen.
Die Methode überträgt dann die Objekte in eine neues Level.

Natürlich brauchen diese Objekte Koordinaten, auf denen sie wieder gesetzt werden. Deshalb sind die beiden int-Arrays da drin.


So mein Problem:
Ich will dass weitergeben[0] mit xLocation[0] und yLocation[0] in folgendes Eingetragen wird.
travelguide.changeMap(map).addObject( (Actor) object,xLocation, yLocation);

Wenn das fertig ist, soll weitergeben[1] mit xLocation[1] und yLocation[1] in folgendes die Methode eingetragen werden.




Das Ding ist, dass ich nicht weiß wo ich die Erhöhung von x/yLocation schreiben soll.
Also das hier "for(int i = 0;i < xLocation.length ; ++i)"

An der Stelle an der es ist gibt " System.out.println(xLocation);"
das hier aus
Code:
842
200
787
842
200
787
842
200
787
842
200
787
Das Array wird also durchlaufen.

Trotzdem tauchen ALLE objekte an 842, 713 auf...



Wenn ich "for(int i = 0;i < xLocation.length ; ++i)" vor die erste foreach-Schleife schreibe, gibt es mir nur
Code:
842
842
...usw
aus.



Könnte mir da irgendwer helfen? Wär euch super dankbar!:(
btw: Ich arbeite mit Greenfoot. Also wundert euch über einige komische Sachen nicht.




Java:
     public void act()
    { 
        Class[] weitergeben = {WaldUI.class,Inventar.class,Score.class};
        int[] xLocation = {842,200,787};
        int[] yLocation = {713,713,200};


 
        

        Actor santa = getOneIntersectingObject(Santa.class);
        

        if (santa != null)
        {
            Greenfoot.setWorld(travelguide.changeMap(map));
            travelguide.changeMap(map).addObject(santa,xWert,yWert);
      
                      
         
                 for(Class klasse: weitergeben)
                 {
                    List <Class> actors= getWorld().getObjects(klasse);
                    
                   
                      
                 
                         for(Object object : actors)
                         {
                          
                            for(int i = 0;i < xLocation.length ; ++i)
                          
                            {
                                
                                
                              
                                   
                                
                                    travelguide.changeMap(map).addObject( (Actor) object,xLocation[i], yLocation[i]);
                                    System.out.println(xLocation[i]);
                               
                                   
                             
                          
                            }
                            
                         }
                     
                 }
        
                                        
        

        }
    }
 

Volvagia

Top Contributor
Mit deiner Schleife fügst du ja jedes Objekt an 842/713, 200/713 und 787/200 hinzu. Du musst für jede Klasse auch die entsprechenden Koordinaten aus dem Array holen. Oder du bereitest sie gleich in Klasseninstanzen zur Kapselung (das Wort hat es mir angetan) vor.
 
Zuletzt bearbeitet:
S

Spacerat

Gast
for each macht auf Arrays eigentlich gar keinen Sinn, schon gar nicht bei mehreren involvierten Arrays gleicher Länge. Man bekommt ja eigentlich nur die Objekte, welche man in einer normalen for-Schleife per array[counter] bekommen würde. Man könnte vor der for each-Schleife einen Counter initialisieren, mit welchem man auf die Elemente der anderen Arrays zugreift und anschliessend innerhalb der Schleife erhöht. Aber wo wäre man dann? Eben, mehr oder weniger wieder bei der normalen for-Schleife.
 

Akkulader

Mitglied
Mit deiner Schleife fügst du ja jedes Objekt an 842/713, 200/713 und 787/200 hinzu. Du musst für jede Klasse auch die entsprechenden Koordinaten aus dem Array holen. Oder du breitest sie gleich in Klasseninstanzen zur Kapselung (das Wort hat es mir angetan) vor.
Ne eben nicht. Alles Objekte werden bei 842/713 gesetzt. Das ist ja mein Problem.

Ich versuch sie ja raus zu holen indem ich den jeweiligen Inhalt des location Arrays =i setzte und i dann erhöhe.. Aber das geht ja iwie nicht.
 

Volvagia

Top Contributor
Du rennst das Positionsarray bei jeden Objekt durch. Dadurch fügst du es auch 3x mit unterschiedlichen Positionen hinzu.

Code:
842
200
787

842
200
787

842
200
787

842
200
787
 

Akkulader

Mitglied
Du rennst das Positionsarray bei jeden Objekt durch. Dadurch fügst du es auch 3x mit unterschiedlichen Positionen hinzu.

Code:
842
200
787

842
200
787

842
200
787

842
200
787
Wo muss ich denn die location Arrays zählen lassen damit das funktioniert? Wenn ich das schon mache bevor ich die foreach schleifen implementiert. Kommt am bei systemoutprintln nur die erste Zahl 3x
 

Michael...

Top Contributor
Java:
	for(Object object : actors) {
		for(int i = 0;i < xLocation.length ; ++i) {
			travelguide.changeMap(map).addObject( (Actor) object,xLocation[i], yLocation[i]);
			System.out.println(xLocation[i]);
		}
	}
Einfach mal überlegen was da passiert bzw. das System.out. zeigt es ja ganz deutlich. Entweder Du iterierst über actors oder über die Location Arrays. Beides ineinander zu verschachteln ist Schmarrn - außer du willst alle Actor Objekte tatsächlich an drei Stellen positionieren.
 
S

Spacerat

Gast
Java:
class Test {
	public void act() {
		Class<?>[] weitergeben = { WaldUI.class, Inventar.class, Score.class };
		int[] xLocation = { 842, 200, 787 };
		int[] yLocation = { 713, 713, 200 };

		Actor santa = getOneIntersectingObject(Santa.class);

		if (santa != null) {
			Greenfoot.setWorld(travelguide.changeMap(map));
			travelguide.changeMap(map).addObject(santa, xWert, yWert);
			for (Class klasse : weitergeben) {
				List<Class> actors = getWorld().getObjects(klasse);
				int i = 0;
				for (Object object : actors) {
					travelguide.changeMap(map).addObject((Actor) object, xLocation[i], yLocation[i]);
					System.out.println(xLocation[i]);
					i++;
					i %= xLocation.length;
				}
			}
		}
	}
}
 
Zuletzt bearbeitet von einem Moderator:
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Methoden Wieso wird mein Array "a" verändert und meine Variable "a" nicht? Java Basics - Anfänger-Themen 4
I Programm erkennt nicht an das Array zurückgegeben wird trotz Initialisierung *einfach* Java Basics - Anfänger-Themen 9
H Array wird als Rückgabewert nicht akzeptiert? Java Basics - Anfänger-Themen 2
NeoLexx Variable für Array wird nicht korrekt übergeben Java Basics - Anfänger-Themen 45
Bluebird209 Array wird nicht an Methode übergeben Java Basics - Anfänger-Themen 7
E Methoden 2D Array wird in der Methode nicht geändert/gespeichert Java Basics - Anfänger-Themen 5
S Array wird nicht übernommen NullPointerException Java Basics - Anfänger-Themen 6
C Array Aktualisierung wird nicht im Tooltip angezeigt Java Basics - Anfänger-Themen 2
M Array wird beim Neuaufruf nicht neu initialisiert Java Basics - Anfänger-Themen 9
A Ein Array aus einer Klasse wird nicht sauber abgefüllt Java Basics - Anfänger-Themen 4
I Array und variable gleicher wert, wird jedoch nicht erkannt Java Basics - Anfänger-Themen 4
B Array von Choice wird nicht von getSelectedItem erkannt Java Basics - Anfänger-Themen 3
sserio Zweidimensionales Array [][] wird untereinander ausgegeben Java Basics - Anfänger-Themen 14
A char array wird überschrieben Java Basics - Anfänger-Themen 6
L Iterieren durch eine ArrayList. Integer Array wird übergeben Java Basics - Anfänger-Themen 17
P Array wird automatisch überschrieben Java Basics - Anfänger-Themen 3
B Gefülltes Array wird mit nullwerten übergeben Java Basics - Anfänger-Themen 9
E Wie wird in Java ein Char-Array terminiert ? Java Basics - Anfänger-Themen 15
L [Verständnisproblem] Array wird trotz void rückgabe verändert. Java Basics - Anfänger-Themen 5
D Array wird immer mir 100 für jeden Wert initialisiert? Java Basics - Anfänger-Themen 2
Silvascus Array, der mit dem Namen, der per Methode übergeben wird, erstellt wird Java Basics - Anfänger-Themen 5
C Array wird falsch befüllt? Java Basics - Anfänger-Themen 7
T Array wird überschrieben Java Basics - Anfänger-Themen 4
J Warum wird Array durch Methode ohne Rückgabewert verändert? Java Basics - Anfänger-Themen 5
L Schleifen und Array, nur letzte Eingabe wird ausgegeben Java Basics - Anfänger-Themen 3
D Array Objekt wird überschrieben Java Basics - Anfänger-Themen 3
L Wie wird ein 2 Dimensionales Array befüllt? Java Basics - Anfänger-Themen 6
H Array wird verändert ohne Rückgabe? Java Basics - Anfänger-Themen 7
P Datentypen String auf JTextField wird zu Char-Array und anschließend zu int Java Basics - Anfänger-Themen 12
F Variablen String-Array wird ungewollt "überschreiben" Java Basics - Anfänger-Themen 7
D Erste Schritte Warum wird bei einem Array die Länge über Length ausgegeben? Java Basics - Anfänger-Themen 6
A OOP Array wird ohne grund sortiert?! Java Basics - Anfänger-Themen 4
B Array-objekte,. Es wird ein Fehler ausgegeben Java Basics - Anfänger-Themen 11
A Array wird überschrieben Java Basics - Anfänger-Themen 5
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
belana wie am besten 2D Array von String to Integer Java Basics - Anfänger-Themen 18
S Array mit Methode löschen Java Basics - Anfänger-Themen 2
J Java To String Methode, Array mit For-Schleife Java Basics - Anfänger-Themen 2
E Durch Muster in Array iterieren Java Basics - Anfänger-Themen 3
L Frage zum Array Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben