arraydaten zwischen classen übertragen

Status
Nicht offen für weitere Antworten.

DejaVu

Mitglied
Hallo Zusammen,

ich bin gerade dabei ein programm für die berufsschule zu erstellen. Die Aufgabe ist ein Netzwerkfähiges Schiffeversenken zu programmieren.

jetzt hat sich mir ein Problem in den weg gestellt, dass ich ohne hilfe leider nicht gelöst bekomme.

Ich möchte ein Array in einer Klasse füllen und dann sollen mir die daten in einer anderen zur verfügung stehen.

hatte jetzt mal versucht das mit get und set zu lösen, bin aber leider doch noch relativ unerfahren mit java, so dass das bisher nicht geklappt hat.

habe jetzt mal einen teil meines quellcodes vom rest extrahiert, so das man mein problem hoffentlich nachvollziehen kann:
Code:
// hier soll mein Array gefüllt werden.
package schiffeversenken;
public class Datensetzen {

	String array[][] = new String[10][10];

	public void setzen()

	{
		String arraylocal[][] = new String[10][10];

		arraylocal[0][0] = "ok";
		this.array[0][0] = arraylocal[0][0];
	}

	public void setArray(String[][] array) {
		this.array = array;
	}

	public String[][] getArray() {
		return array;
	}

}

Code:
// hier sollen die Daten zur Verfügung stehen.
package schiffeversenken;
public class Datenholen {

	public void holen() {
		Datensetzen datensetzen = new Datensetzen();
		String druck[][] = new String[10][10];
		druck = datensetzen.getArray();
		String s = druck[0][0];
		System.out.println("Testausdruck:  " + s);
	}
}


Code:
// Startklasse
package schiffeversenken;
public class Ausführen {

	public static void main(String[] args) {

		Datensetzen datensetzen = new Datensetzen();
		datensetzen.setzen();
		Datenholen datenholen = new Datenholen();
		datenholen.holen();

	}

}


Ich hoffe mir kann jemand weiterhelfen.

schon einmal viel Dank im vorraus.

Gruß Manuel[/code]
 
S

SlaterB

Gast
Code:
	public void setzen()

	{
		String arraylocal[][] = new String[10][10];

		arraylocal[0][0] = "ok";
		this.array[0][0] = arraylocal[0][0];
	}
wieso nicht einfach
Code:
	public void setzen()

	{
		this.array[0][0] = "ok";
	}
?
arraylocal wird doch überhaupt nicht genutzt

-----

Code:
		String druck[][] = new String[10][10];
		druck = datensetzen.getArray();
eine komische Krankheit, sieht man die letzten Monate meinem Gefühl nach viel öfter als früher,

wenn du einen Parkplatz für dein bestimmtes Auto X haben willst,
baust du dann einen Parkplatz mit einem niegelnagelneuen teuren Auto drauf,
wirfst dann sofort das niegelnagelneue teure Auto weg und stellst dein Auto X drauf?

bringt doch nix, da erst ein neues String[10][10] anzulegen,

Code:
		String druck[][] = null;
		druck = datensetzen.getArray();
geht genauso oder noch kürzer
Code:
		String druck[][] = datensetzen.getArray();

------

ansonsten sehe ich keine direkte Frage in deinem Posting, was geht nicht?

edit:
wahrscheinlich möchtest du in holen() einen Datensatz als Parameter übergeben statt einen neuen zu erzeugen,
dann übergib doch einen Parameter?
 

dayaftereh

Top Contributor
Hey also ich habe dir mal ein kleine Beispiel gemacht

Bin mir nicht sicher ob ich verstanden habe was du willst aber Vieleicht hilft dir dieser Code weiter:

Speicher.java

Code:
public class Speicher {
	
	private String[][] array = null;
	
	public Speicher() {
		array = new String[10][10];
		fillArray();
	}
	
	private void fillArray(){
		for (int i = 0; i < array.length; i++) {
			for (int j = 0; j < array.length; j++) {
				array[i][j] = String.valueOf((int)(Math.random()*100));
			}
		}
	}

	public String[][] getArray() {
		return array;
	}

	public void setArray(String[][] array) {
		this.array = array;
	}	

}

Ausgabe.java
Code:
public class Ausgabe {

	private Speicher speicher;
	
	public Ausgabe(Speicher speicher) {
		this.speicher = speicher;
	}
	
	public void print(){
		String[][] array = speicher.getArray();
		for (int i = 0; i < array.length; i++) {
			for (int j = 0; j < array.length; j++) {
				System.out.print(array[i][j] + "|");
			}
			System.out.println();
		}
		
	}

}

Start.java

Code:
public class Start {
	
	public static void main(String[] args) {
		Speicher speicher = new Speicher();
		
		Ausgabe ausgabe = new Ausgabe(speicher);
		ausgabe.print();
	}

}

Also was ich mach ist ganz einfach, also ich erzeuge eine 2D array und befühle sie zu gleich mit zufähliegen zahlen... Dieses geschiett in der Klasse Speicher.java ...Diese Obkejk erzeuge und Hole ich in der main methode in der Klasse Start.java.. Das gebe ich dan weiter an die Klasse Ausgeben.java.... wo ich sie dan dürchlaufe und ausgebe...

Also so benutze ich den getter, ist nur ein Beispile...

Das mit dem Netzwek verstehe ich nicht????
 

Oni

Top Contributor
Ich glaube das Schiffeversenken soll dann von zwei Personen über das Netzwerk spielbar sein.
Das wird nicht einfach, wenn gerade erst die Basic's gelernt sind/werden.
 

didjitalist

Bekanntes Mitglied
für die kommunikation beim schiffe versenken braucht man doch keine arrays. man ruft dem anderen "B4" zu und er ruft "treffer", "versenkt" oder "wasser" zurück. die schnittstellen der klassen können auch problemlos genau so aussehen. und das gibt dann auch schon ne gute grundlage, für ne einfache netzwerkkommunikation.
 

Loki

Aktives Mitglied
Wenn in dem Array dann auch die Positionen der Schiffe verraten werden, finde ich das ziemlich misserablen Lösungsansatz.

Man sollte das lieber die Variante von didjitalist bevorzugen. Denn in Java ist relativ einfach den Code zu dekompilieren und die Schwärzungen sichtbar zu machen - optimal zum betrügen. Besser wäre es, das jeder Spieler so wenig weiß wie unbedingt notwendig, d.h. es werden nur Anfragen auf bestimmte Felder beantwortet.
Wenn das Spiel netzwerkfähig sein soll, solltest du dir Gedanken über das Protokoll machen. Wer spielt Server, wer Client? Wie finden die Rechner sich? Was tun, wenn einer nicht mehr reagiert?
 

DejaVu

Mitglied
Schon einmal vielen Dank für eure Anregungen.

ansonsten sehe ich keine direkte Frage in deinem Posting, was geht nicht?

führe ich oben genanntes Programm aus wird mir in der Konsole folgendes ausgegeben: Testausdruck: NULL
dabei ist mein Ziel das auszugeben: Testausdruck: ok


Ich glaube das Schiffeversenken soll dann von zwei Personen über das Netzwerk spielbar sein.
Das wird nicht einfach, wenn gerade erst die Basic's gelernt sind/werden.
ja genau so ist es, ich bin jetzt nicht weiter auf das eigentliche Spiel eingegangen, da der großteil so funktioniert wie ich mir das vorstelle.



Vielleicht könnt Ihr mir eher Helfen wenn Ihr meinen tatsächlichen Quellcode seht.

ich habe den socket so eingerichtet das man momentan gegen sich selber spielt, damit ihr nicht alles doppelt einbinden müsst.

Sämtliche .java Dateien habe ich unter folgendem Link als Zip Datei hochgeladen
http://www.fileuploadx.de/949320


so weit müsste das Spiel funktionieren:

Schiffe setzen.
Netzverbindung wird aufgebaut.
Schuss wird abgefragt.
Schüsse werden im Radar eingezeichnet.

Problem --> es wird nicht im Array "Meer" nachgeschaut ob der Schuss etwas "getroffen hat"

vielen Dank im Vorraus.

Gruß Manuel
 
S

SlaterB

Gast
wie gesagt, beim ursprünglichen Code

nicht
> public void holen() {
> Datensetzen datensetzen = new Datensetzen();

sondern
public void holen(Datensetzen datensetzen) {


und der Aufruf nicht
> datenholen.holen();
sondern
datenholen.holen(datensetzen);
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Arraydaten aus einer anderen Methode ausgeben Java Basics - Anfänger-Themen 4
C Kommunikation zwischen 2 Klassen Java Basics - Anfänger-Themen 9
Distanz zwischen zwei Zeichenfolgen in einem String bestimmen Java Basics - Anfänger-Themen 5
S Unterschied zwischen Denkweisen Java Basics - Anfänger-Themen 13
O Klassen Zusammenspiel zwischen 2 Klassen Java Basics - Anfänger-Themen 1
Ras Unterschied zwischen parser xml and api xml Java Basics - Anfänger-Themen 7
X Was ist der Unterschied zwischen materialisierten und nichtmaterialisierten Attributen einer Klasse? Java Basics - Anfänger-Themen 1
F Abstand zwischen zwei Objekten berechnen wie? Java Basics - Anfänger-Themen 1
S Längster Pfad zwischen zwei Vertices in einem Graph Java Basics - Anfänger-Themen 3
U Erste Schritte nextGaussian zwischen zwei Werten Java Basics - Anfänger-Themen 19
jhCDtGVjcZGcfzug Was ist der Unterschied zwischen diesen Quellcodes? Java Basics - Anfänger-Themen 3
rafi072001 Assoziation zwischen Musiker und Label Java Basics - Anfänger-Themen 1
I Best Practice Saubere Verbindung zwischen API und Business Layer mit DTO's Java Basics - Anfänger-Themen 2
A Parametar übergabe zwischen Methoden Java Basics - Anfänger-Themen 26
W User zwischen Optionen wählen lassen Java Basics - Anfänger-Themen 1
I Differenz zwischen LocalDateTime Java Basics - Anfänger-Themen 4
Leo_1789 Differenz ausrechnen zwischen denn idealgewicht und denn echten Gewicht Java Basics - Anfänger-Themen 7
E Wie gebe ich alle Daten zwischen zwei Zeitpunkten aus? Java Basics - Anfänger-Themen 2
P Methode die ausgibt wie viele Primzahlen es zwischen 2 und n gibt Java Basics - Anfänger-Themen 10
C Kommunikation zwischen 2 Klassen Java Basics - Anfänger-Themen 3
marcooooo Separator zwischen allen Zeichen eines Strings einfügen Java Basics - Anfänger-Themen 29
NeoLexx Zuweisungskompatibilität zwischen Vererbungsbeziehungen (Polymorphie) Java Basics - Anfänger-Themen 18
L Threads Synchronisierung zwischen threads Java Basics - Anfänger-Themen 4
N Berührung zwischen Rechtecken Java Basics - Anfänger-Themen 5
Y Unterschied zwischen WindowBuilder und herkömmlichen erstellen des GUI´s? Java Basics - Anfänger-Themen 9
J Wert zwischen JFrames übergeben Java Basics - Anfänger-Themen 2
U Worin besteht der Unterschied zwischen call by reference und call by value? Java Basics - Anfänger-Themen 14
E Unterschied zwischen new und import Java Basics - Anfänger-Themen 5
J Punkt auf,über,unter oder zwischen 2 Geraden Java Basics - Anfänger-Themen 14
A Kommunikation zwischen nebenläufigen Threads Java Basics - Anfänger-Themen 4
B Unterschied zwischen (List<T> a) und (T[] a) Java Basics - Anfänger-Themen 7
Dilara_K Abstand zwischen den Doppelwerten in einem Array herausfinden Java Basics - Anfänger-Themen 20
S Nach dem Herüberschieben eines Arrays zwischen 2 Frames öffnet sich das Frame nicht mehr Java Basics - Anfänger-Themen 12
D Zufallszahl zwischen 10 und 99? Java Basics - Anfänger-Themen 5
J Objektzugriff zwischen disjunkten Klassen Java Basics - Anfänger-Themen 1
L Den Winkel zwischen zwei Vektoren berechnen! Java Basics - Anfänger-Themen 2
A Methoden Unterscheid zwischen public und ohne Java Basics - Anfänger-Themen 9
X Input/Output Höchste Temperaturschwankung zwischen 2 Tagen Java Basics - Anfänger-Themen 2
Bluedaishi der Monat zwischen zwei Datumsangaben Java Basics - Anfänger-Themen 15
R Threads Pause zwischen zwei Schleifen Java Basics - Anfänger-Themen 1
Aprendiendo Unterschied zwischen Referenzvariable und Instanzvariable. Java Basics - Anfänger-Themen 2
N Unterschied zwischen Checked und Unchecked Exceptions Java Basics - Anfänger-Themen 12
S Parameterübergabe zwischen zwei Programme Java Basics - Anfänger-Themen 4
S Erste Schritte Zwischen zwei Punkten ein Minimumpkt./Maxima finden Java Basics - Anfänger-Themen 1
K Klassen Array zwischen Klassen übergeben Java Basics - Anfänger-Themen 2
Arif OOP Die Bindung zwischen einem äußeren und einem inneren Objekt Java Basics - Anfänger-Themen 2
schoenosrockos Unterschied zwischen Objekten und vererbungen Java Basics - Anfänger-Themen 1
S OOP Variablen zwischen mehreren Klassen Java Basics - Anfänger-Themen 11
H Klassen Konstruktor Parameter als Instanzvariablen zwischen speichern... Java Basics - Anfänger-Themen 11
F Klassen Kommunikation zwischen Klassen Java Basics - Anfänger-Themen 4
J Variablen Unterschied zwischen lokalen-, Instanz-, Klassenvariablen Java Basics - Anfänger-Themen 6
N Dauer zwischen zwei LocalDateTime Objekten berechnen? Java Basics - Anfänger-Themen 4
P Ungerade Zahlen ausgeben lassen zwischen Spannweite zweier eingegeben zahlen Java Basics - Anfänger-Themen 6
V Zufallswert zwischen zwei Zahlen a und b Java Basics - Anfänger-Themen 12
H Datentypen Tage zwischen zwei Datums berechnen Java Basics - Anfänger-Themen 4
M Variable zwischen Klassen übergeben Java Basics - Anfänger-Themen 5
A attach source: Zusammenhang zwischen JAR und .class/.java Dateien? Java Basics - Anfänger-Themen 2
L Unterschied zwischen Klassen - und Instanzvarbiablen Java Basics - Anfänger-Themen 1
F Vererbung von Attributen zwischen zwei Klassen Java Basics - Anfänger-Themen 6
F Referenzen zwischen Methoden Java Basics - Anfänger-Themen 5
B Distanz zwischen zwei Punkten Java Basics - Anfänger-Themen 4
D Suche nach der Anzahl von Zonen zwischen zwei Punkten Java Basics - Anfänger-Themen 2
G Zugriff zwischen Klassen Java Basics - Anfänger-Themen 15
S Funktion die mir fuer einen String eine Zahl zwischen 0.0 und 1.0 zurueckliefert..? Java Basics - Anfänger-Themen 9
S Unterschiede zwischen equals und contains Java Basics - Anfänger-Themen 2
S Leerzeichen zwischen zwei Zeichen im String entfernen Java Basics - Anfänger-Themen 19
N Werte zwischen Klassen austauschen Java Basics - Anfänger-Themen 1
M Unterschied zwischen Classpath eines Eclipse Projektes und dem CLASSPATH? Java Basics - Anfänger-Themen 3
Thallius Best Practice Events zwischen eigenen Klassen Java Basics - Anfänger-Themen 2
A if-Anweisung zwischen zwei Punkten Java Basics - Anfänger-Themen 1
S Erste Schritte TAB-Wechsel zwischen TextFields Java Basics - Anfänger-Themen 1
B Relativer Pfad zwischen zwei Files Java Basics - Anfänger-Themen 2
M Drag & Drop - Interaktion zwischen Java und dem OS Java Basics - Anfänger-Themen 1
S Erste Schritte Tage zwischen 2 Daten berechnen Java Basics - Anfänger-Themen 6
Z Differenz zwischen 2 Daten berechnen, ohne importiere Funktionen! Java Basics - Anfänger-Themen 10
A Datum zwischen zwei Daten berechnen und in Tagen anzeigen Java Basics - Anfänger-Themen 4
D Unterschied zwischen double und Double Java Basics - Anfänger-Themen 4
Q Unterschied zwischen static und keinem Modifier Java Basics - Anfänger-Themen 15
K Unterschied zwischen Jar, war und ear Dateien Java Basics - Anfänger-Themen 3
S Problem bei Kollision zwischen Array-objekten! Java Basics - Anfänger-Themen 2
M Länge der Strecke zwischen zwei Punkten Java Basics - Anfänger-Themen 10
T Unterschied zwischen Integrationstest und JUnit test? Java Basics - Anfänger-Themen 12
T zwischen den Strings soll ein plus(+) stehen Java Basics - Anfänger-Themen 5
S Methoden Tage zwischen 2 Daten Java Basics - Anfänger-Themen 19
M Typcasting zwischen ganzen Zahlen Java Basics - Anfänger-Themen 7
K Unterschied zwischen break und continue in einer Schleife Java Basics - Anfänger-Themen 14
A Exakte Unterschied zwischen Java EE und Java SE? Java Basics - Anfänger-Themen 4
J Unterschied zwischen statische und nicht statische Methoden? Java Basics - Anfänger-Themen 14
N Winckel zwischen zwei Punkten Java Basics - Anfänger-Themen 9
O Java unterschied zwischen Interface und Interface_Referenzen!!?? Java Basics - Anfänger-Themen 7
J Regex um Inhalte zwischen Tags zu ignorieren Java Basics - Anfänger-Themen 2
F Info zwischen verschiedene Klassen austauschen Java Basics - Anfänger-Themen 4
W Variablen zwischen Klassen übertragen Java Basics - Anfänger-Themen 8
jueki Präzision bei Typumwandlung zwischen double und String Java Basics - Anfänger-Themen 14
B Text zwischen geschweiften klammern Java Basics - Anfänger-Themen 11
T Abstand zwischen zwei Zeitstempeln errechnen. Java Basics - Anfänger-Themen 3
c_sidi90 Zeitberechnung zwischen 2 Daten und Zeitangaben Java Basics - Anfänger-Themen 9
E Inhalt zwischen zwei String auslesen? Java Basics - Anfänger-Themen 8
Mikescher Winkel zwischen 2 Punkten und der X-Achse Java Basics - Anfänger-Themen 11
J unterschied zwischen awt und swing Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben