Zugriffe innerhalb eines Arrays

Kaniee

Mitglied
Hallo JAVA-Gemeinde,

ich hänge gerade beim Programmieren an einem Problem, bei dem ich mir sicher bin eine simple Lösung zu übersehen. :bahnhof:
Ich habe einen Objekt-Array und will in dem Objekt eine Methode schreiben, die auf die anderen Objekte des Arrays zugreifen kann. Zusätzlich wäre es geschickt wenn ich in der Klasse für das Objekt auf andere Variablen von der Aufruferklasse zuzugreifen ohne es per Parameter zu übergeben.

Ich hoffe die Lösung ist so simple wie ich mir sie vorstelle :D

Kaniee
 
N

nillehammer

Gast
Vielleicht habe ich die Problembeschreibung falsch verstanden. Aber ich glaube, was Du willst, das geht nicht. Um eine Methode auf etwas anderem aufrufen zu können, brauchst Du eine Referenz auf dieses andere. Ein Element in einem Array "weiß" von sich aus nichts von den anderen Elementen. Es "weiß" im Grunde nicht mal, dass es in einem Array drinnen ist. Gleiches gilt für die Aufruferklasse. Auch von der weiß das Objekt zunächst mal garnichts.

Kannst Du konkret beschreiben, was Du machen willst? Vielleicht fallen einem dazu ein paar gute Ideen ein.
 

Kaniee

Mitglied
Also ich bin gerade dabei ein Programm das Sodukus löst zu programmieren (just for fun). Dann habe ich einen Array mit den Kästchen. Und jetzt würde ich gerne eine Methode in der Klasse Square (für Kästchen) schreiben, die nachschaut was die anderen Kästchen daneben für Werte haben.
Bis jetzt habe ich das nicht sehr schön gelöst und ich hätte einige Vorteile wenn ich von dem Objekt auf die Aufruferklasse (auf die Variablen darin) zugreifen könnte.

Danke für die Hilfe

Kaniee
 

moccajoghurt

Bekanntes Mitglied
Wenn du den array static machst und den Objekten einen index zuweist, dann kannst du das machen:
Java:
public class Blaa {

	public static Blaa blaa_array[] = new Blaa[5];

	public static void main(String[] args) {

		for (int x = 0; x < blaa_array.length; x++) {
			blaa_array[x] = new Blaa(x);
		}
		
		blaa_array[2].send_communication(3);

	}

	public void communicate(int index) {
		blaa_array[index].receive_communication("hallo");
	}

	int index;

	public Blaa(int index) {
		this.index = index;

	}

	private void send_communication(int index) {
		communicate(index);
	}

	private void receive_communication(String msg) {
		System.out.println(msg);
	}

}
Ist aber keine schöne Lösung. Ich weiß ja nicht wozu du das brauchst, aber geht sicherlich besser.
 
Zuletzt bearbeitet:

Kaniee

Mitglied
aber würden jetzt auch die anderen Bla Objekte, die in der Main-Methode initialisiert wurden, merken, dass Bla[2] Bla[3] verändert hat????
 

moccajoghurt

Bekanntes Mitglied
du könntest in die public void communicate methode z.b. eine schleife einbauen, die jeden wert in dem static array aufruft:

Java:
for (int x = 0; x < 5; x++ {

blaa_array[x].receive_communication("xyz hat sich verändert");

}
 

langhaar!

Bekanntes Mitglied
Dann habe ich einen Array mit den Kästchen. Und jetzt würde ich gerne eine Methode in der Klasse Square (für Kästchen) schreiben, die nachschaut was die anderen Kästchen daneben für Werte haben.
Bis jetzt habe ich das nicht sehr schön gelöst und ich hätte einige Vorteile wenn ich von dem Objekt auf die Aufruferklasse (auf die Variablen darin) zugreifen könnte.

Ich sehe das Problem darin, dass du zu früh die technische Implementierung festgelegt hast.
Aus deiner Aufgabenstellung ergibt sich für mich kein Array; vielmehr müsste jedes Kästchen eine Verknüpfung zu anderen Kästchen - und zwar die, die nebenan liegen - haben.
Also wie eine verkette Liste, nur in mehrere Dimensionen.
Wenn deine Kästchen eine Referenz zu ihren Nachbarn haben, könntest du natürlich weiterhin alle Kästchen in einem Array speichern, aber auf das Array könnte man dann komplett verzichten.

Eine andere Art der Modellierung wäre, dass nicht ein Kästchen weiss, was im Kästchen nebenan ist, sondern dass es ein Objekt Matrix gibt, welches zu einem Kästchen sagt, was daneben ist. Der kleine aber feine Unterschied ist, dass hierbei nicht das Kästchen selber Auskünfte zu seinen Nachbarn gibt.
 
Zuletzt bearbeitet:

Kaniee

Mitglied
oh vielen Dank für die Antwort. Ich weiß zwar nicht genau wie Listen funktionieren, aber das hört sich sehr schlüssig an. Ich glaub ich werde das mal Lernen. Aber wenigstens weiß ich das das nicht so klappt wie ich das wollte.

Vielen Dank

Kaniee
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Mehrere Datenbank zugriffe über tomee.xml regeln? Java Basics - Anfänger-Themen 1
B Zugriffe in einer Klasse / Funktion Java Basics - Anfänger-Themen 9
M Java Webstart keine Zugriffe Java Basics - Anfänger-Themen 7
H Zugriffe auf variablen Java Basics - Anfänger-Themen 12
H ArrayList Zugriffe per Referenz verkürzen? Java Basics - Anfänger-Themen 9
S Zugriffe über Private Instanzvariablen Java Basics - Anfänger-Themen 3
I Viereck / Rechteck Prüfung innerhalb einem bestimmten Bereich Java Basics - Anfänger-Themen 2
I Innerhalb einem Bild ein Teil austauschen Java Basics - Anfänger-Themen 26
F wie kann ich die Position des letzten Vokals innerhalb einer Zeichenkette ermitteln? Java Basics - Anfänger-Themen 5
J int innerhalb einer Datei ändern Java Basics - Anfänger-Themen 1
J if-Schleife innerhalb einer if-Schleife wird in der Konsole nicht gelesen Java Basics - Anfänger-Themen 4
I Variable innerhalb Methode: Local variable test defined in an enclosing scope must be final or effectively final Java Basics - Anfänger-Themen 3
J Verschieben von Buchstaben in einem String um vorgegebene Anzahl von Zeichen innerhalb eines weiteren String Java Basics - Anfänger-Themen 12
I ArrayList erstellen innerhalb einer Zeile? Java Basics - Anfänger-Themen 3
Z Erste Schritte Indexe innerhalb eines Arrays zusammensählen Java Basics - Anfänger-Themen 14
B Summe von Property innerhalb einer Liste via Lambda Java Basics - Anfänger-Themen 1
M Auf einen Array innerhalb eines Objekts zugreifen Java Basics - Anfänger-Themen 5
B Enum innerhalb einer Klasse / anderes Konzept Java Basics - Anfänger-Themen 8
dapzoo Innerhalb eines Jahres intensivem Java-Selbststudium zur Anstellung? Java Basics - Anfänger-Themen 37
S Wert innerhalb eines anderen Wertes Java Basics - Anfänger-Themen 3
T split innerhalb Klammern ignorieren? Java Basics - Anfänger-Themen 6
x-tshainge Innerhalb von Textdatei addieren Java Basics - Anfänger-Themen 9
I Try-Catch innerhalb eines Catchblocks Java Basics - Anfänger-Themen 1
J Innerhalb von Zeichenketten tauschen Java Basics - Anfänger-Themen 1
S BufferedWriter innerhalb einer Methode Java Basics - Anfänger-Themen 2
H Innerhalb einer Methode eine Variable der aufrufenden Methode ändern? Java Basics - Anfänger-Themen 2
H For-Schleife innerhalb If-Abfrage? Java Basics - Anfänger-Themen 3
A Werte innerhalb von resultset vergleichen Java Basics - Anfänger-Themen 2
B Key auslesen/ausgeben innerhalb von foreach() Java Basics - Anfänger-Themen 5
MiMa abbruch innerhalb einer Rekursiven Schleife Java Basics - Anfänger-Themen 5
J Array innerhalb einer Funktion mehrfach iniatilisieren Java Basics - Anfänger-Themen 4
O Vererbung this innerhalb von super Java Basics - Anfänger-Themen 7
Silvascus Erste Schritte Werte innerhalb eines Arrays addieren Java Basics - Anfänger-Themen 3
L Punkt innerhalb eines Bereiches verschieben Java Basics - Anfänger-Themen 9
J Innerhalb Interfacemethode: Interface als Attribut Java Basics - Anfänger-Themen 2
I Innerhalb einer Methode suchen und hinzufügen. Neues Objekt in Suche dann? Java Basics - Anfänger-Themen 8
S Classpath: Alle .jars innerhalb eines Ordners einbinden Java Basics - Anfänger-Themen 4
M Farben/Color Abfragen von Farben innerhalb einer Methode Java Basics - Anfänger-Themen 9
T Erste Schritte run innerhalb eines package Java Basics - Anfänger-Themen 1
I Rückgabe und Aufruf einer Methode innerhalb einer anderen Methode Java Basics - Anfänger-Themen 5
B Variablen global abspeicher innerhalb von Methoden Java Basics - Anfänger-Themen 7
D Methoden Implementieren von einer Zoomfunktion innerhalb eines JPanels mit null-Layoutmanager Java Basics - Anfänger-Themen 1
M Throws Anweisung innerhalb eines Methodenkopfes unklar Java Basics - Anfänger-Themen 4
M Variablen Zugriff von außerhalb eines Blockes auf eine Variable innerhalb eines Blockes Java Basics - Anfänger-Themen 2
M Text innerhalb Anführungsstriche als "eins" auswerten Java Basics - Anfänger-Themen 5
O Files eines Directories innerhalb eines JAR-Files auflisten Java Basics - Anfänger-Themen 0
S Funktionen/Atrribute nur innerhalb einer package Zugänglich machen Java Basics - Anfänger-Themen 8
I JTextfield[] innerhalb eines Itemlistener aufrufen Java Basics - Anfänger-Themen 2
B Zufallsdatum innerhalb eines bestimmten Bereiches erzeugen Java Basics - Anfänger-Themen 3
D OOP Identifzierung eines Objektes innerhalb eines Array Java Basics - Anfänger-Themen 3
G Bewegung innerhalb eines Koordinatensystems berechnen Java Basics - Anfänger-Themen 9
P Kapselung Variable innerhalb einer inneren Klasse ansprechen ohne ein Objekt erzeugen zu müssen? Java Basics - Anfänger-Themen 6
L Next()-Aufruf zweimal innerhalb einer While-Schleife bei ListIterator Java Basics - Anfänger-Themen 10
W Methodenaufruf innerhalb einer Klasse - static vs. this Java Basics - Anfänger-Themen 3
B for-schleife innerhalb neuer Methode Java Basics - Anfänger-Themen 5
N Innerhalb des Programmes RAM einstellen Java Basics - Anfänger-Themen 2
J Variablen überschreiben innerhalb einer Klasse Java Basics - Anfänger-Themen 7
N Zugriff auf Werte in Arrays innerhalb ArrayList Java Basics - Anfänger-Themen 2
A Zugriff auf Komponente innerhalb einer JPanel Java Basics - Anfänger-Themen 8
H Innerhalb eines Package wird eine Klassenmethode nicht gefunden. Java Basics - Anfänger-Themen 2
A objekt innerhalb der gleiche klasse Java Basics - Anfänger-Themen 10
J Dateien innerhalb einer JAR verwenden Java Basics - Anfänger-Themen 3
J Innerhalb der Border zeichnen Java Basics - Anfänger-Themen 9
P Unterschied JRE innerhalb/ außerhalb des JDK Verzeichnisses? Java Basics - Anfänger-Themen 5
S Input/Output Problem mit dateizugriff innerhalb der .jar (Applet) Java Basics - Anfänger-Themen 2
K Zufällige Auswahl innerhalb eines Arrays und Arrays aus JLabel füllen Java Basics - Anfänger-Themen 32
K Bild mit Maus innerhalb eines Rahmens bewegen Java Basics - Anfänger-Themen 5
E Zeile innerhalb Datei überschreiben Java Basics - Anfänger-Themen 2
K Methoden Zustand innerhalb einer Instanz ändern Java Basics - Anfänger-Themen 2
M Java-Prog soll Texte innerhalb Bildern erkennen Java Basics - Anfänger-Themen 2
S Variablen Variable innerhalb eines if-Statements? Java Basics - Anfänger-Themen 10
N OOP Zugriff auf eine Objekt innerhalb einer Klasse aus statischen Methoden Java Basics - Anfänger-Themen 9
S Innerhalb eines Fensters ein neues erschaffen Java Basics - Anfänger-Themen 7
E Elemente innerhalb eines Arrays vergleichen Java Basics - Anfänger-Themen 7
M Main methode innerhalb von Java aufrufen Java Basics - Anfänger-Themen 11
A lokale Variable innerhalb "actionPerformed()" Java Basics - Anfänger-Themen 10
L Lokale Variable und Instanzvariable innerhalb Iterator Java Basics - Anfänger-Themen 8
M FileWriter innerhalb runnable Jar Java Basics - Anfänger-Themen 8
J Diverse Frag zu Vererbung innerhalb von Java Java Basics - Anfänger-Themen 6
O Änderungen innerhalb for-Schleife speichern Java Basics - Anfänger-Themen 17
J Wie auf eine Datei innerhalb des JAR-Files zugreifen Java Basics - Anfänger-Themen 2
radiac Datentypen RANDOM-punkt setzen INNERHALB eines BEREICHes Java Basics - Anfänger-Themen 2
T switchcase innerhalb Schleife: von case-Fall aus Schleife beenden Java Basics - Anfänger-Themen 3
L Timer innerhalb eines Threads Java Basics - Anfänger-Themen 3
H Klassen zur Anzeige ines Bildes und zum Zeichnen innerhalb diese Bildes Java Basics - Anfänger-Themen 2
D Datei innerhalb einer zip bearbeiten Java Basics - Anfänger-Themen 8
D .class-Datei innerhalb einer .jar-Datei verändern Java Basics - Anfänger-Themen 4
R Interface innerhalb einer Klasse definieren..? Java Basics - Anfänger-Themen 2
M Methode innerhalb Methode Java Basics - Anfänger-Themen 10
C Variable Zeichenkette innerhalb einer Schleife ersetzen Java Basics - Anfänger-Themen 4
Das Brot Relative Pfadangaben innerhalb von .jar Archiven Java Basics - Anfänger-Themen 7
C Textausgabe auf Panelen innerhalb eines Applets Java Basics - Anfänger-Themen 6
Screen Mouserobot clonen? Zeiger nur innerhalb eins Fensters? Java Basics - Anfänger-Themen 3
E Boolean wert innerhalb einer Tabelle ändern Java Basics - Anfänger-Themen 4
N aus .txt innerhalb eines JARs Zeilenweise lesen Java Basics - Anfänger-Themen 8
G Texte innerhalb von Dateien suchen Java Basics - Anfänger-Themen 9
D Relativer Pfad innerhalb jar Datei Java Basics - Anfänger-Themen 5
G Innerhalb von Runnable auf super. zugreifen? Java Basics - Anfänger-Themen 3
M if Abfrage innerhalb einer for-Schleife Java Basics - Anfänger-Themen 2
M if Abfrage innerhalb einer for-Schleife Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben