Konstruktor für eine Map-Datei/Map-Datei einlesen

LucaToni

Aktives Mitglied
Ich möchte einen Konstruktor erstellen, der Konstruktor dient der Anfangskonfiguration eines Spielfeldes...
Beispielsweise ein Fußballfeld... mit der Formation: 4-4-3

Die Map-Datei sieht so aus:
010101010
010101010
001010100

Die einsen sind Spieler und die Nullen sind leere Positionen.

Wie würde mein Konstruktor zum einlesen aussehen... beziehunsweise wie kann ich diese Datei so einlesen damit mein Feld entsprechend gefüllt wird?
file wird übergeben, das ist eine .map-Datei.
Ich habe jetzt keine Java-Klasse gefunden die mir helfen würde eine Map-Datei einzulesen.
Code:
public Feld(final String file)
{

}
 
K

kneitzel

Gast
Die Datei ist doch eine einfache Textdatei, also kannst Du diese Zeile für Zeile einlesen.
Und dann kannst Du doch jede Zeile auswerten, z.B. in dem du von Zeichen zu Zeichen gehst und jedes Zeichen einzeln auswertest.

Wie Du damit Dein Feld füllst, musst Du wissen. Wir wissen von Deiner Klasse ja bisher nichts, außer dass der Konstruktor ein String namens file übergeben bekommt.
 

LucaToni

Aktives Mitglied
Die Datei ist doch eine einfache Textdatei, also kannst Du diese Zeile für Zeile einlesen.
Und dann kannst Du doch jede Zeile auswerten, z.B. in dem du von Zeichen zu Zeichen gehst und jedes Zeichen einzeln auswertest.

Wie Du damit Dein Feld füllst, musst Du wissen. Wir wissen von Deiner Klasse ja bisher nichts, außer dass der Konstruktor ein String namens file übergeben bekommt.
Am Ende will ich ein 2D-Array mit den Spielerpositionen.

Muss ich vorher die Text datei in eine ArrayList packen und danach mit .asArray in das Array?
 

fhoffmann

Top Contributor
Am Ende will ich ein 2D-Array mit den Spielerpositionen.
Muss ich vorher die Text datei in eine ArrayList packen und danach mit .asArray in das Array?
1. Eine ArrayList kann nicht zweidimensional sein (sie kann höchstens als Elemente weitere ArrayLists enthalten). Deshalb funktioniert das nicht so.
2. Wenn dein zweidimensionales Array immer die gleiche Größe hat (z.B. 3x9) kannst du es auch gleich so anlegen und füllen.
3. Schau dir doch deine .map-Datei mal in einem Text-Editor an (nicht in einem speziellen MAP-Editor). Wie sieht sie denn da aus? (Es gibt offensichtlich unterschiedliche "MAP-Formate")
 

MoxxiManagarm

Top Contributor
Am Ende will ich ein 2D-Array mit den Spielerpositionen.

Muss ich vorher die Text datei in eine ArrayList packen und danach mit .asArray in das Array?
Du versuchst 2 Sachen auf einmal. Du musst dir vorher im Klaren sein wie dein Datenmodell aussieht. Du hast 2 Möglichkeiten:
1. Du hast eine Liste von Spieler, welche alle ihre Position kennen. Ein 2D-Array gibt es hier nicht
Java:
class Spieler {
  private int posX, posY;
}
2. Du hast ein 2D-Array von Spieler, bei denen einige Felder null oder ein alternatives Feldelement sind. Die Position des Spieler sind dann die Indexes im 2D-Array.
 

TM69

Bekanntes Mitglied
@fhoffmann: Ergänzung. Oder ein Objekt, welches zwei Werte
1. Eine ArrayList kann nicht zweidimensional sein (sie kann höchstens als Elemente weitere ArrayLists enthalten). Deshalb funktioniert das nicht so.
ArrayList nimmt Objekte auf, dieses könnten weitere ArrayLists sein, sofern du einen Baum erstellen willst. Und nach einem Baum sieht mir seine Angaben nicht aus.

Ich möchte einen Konstruktor erstellen, der Konstruktor dient der Anfangskonfiguration eines Spielfeldes...
Beispielsweise ein Fußballfeld... mit der Formation: 4-4-3

Die Map-Datei sieht so aus:
010101010
010101010
001010100

Die einsen sind Spieler und die Nullen sind leere Positionen.

Wie würde mein Konstruktor zum einlesen aussehen... beziehunsweise wie kann ich diese Datei so einlesen damit mein Feld entsprechend gefüllt wird?
file wird übergeben, das ist eine .map-Datei.
Ich habe jetzt keine Java-Klasse gefunden die mir helfen würde eine Map-Datei einzulesen.
Code:
public Feld(final String file)
{
}

Da eine ArrayList https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html das Interface Serializable besitzt kannst du, es wie eine, ganz normale Datei lesen und Schreiben.
Code:
    /**
     * save object to File
     */
    public static void writeObjectToFile(File path, Object object) throws FileNotFoundException, IOException {
        ObjectOutputStream write= new ObjectOutputStream (new FileOutputStream(path));
        write.writeObject(object);
    }

    /*
     * read object from File
     */
    public static Object readFromFile(File path) throws FileNotFoundException, IOException, ClassNotFoundException {
        Object data = null;

        ObjectInputStream inFile = new ObjectInputStream(new FileInputStream(path));
        data = inFile.readObject();
       
        return data;
}

Es sei denn, deine Anforderung ist, dass es in in eine Textdatei geschrieben / gelesen werden soll.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
frager2345 Java Singleton Muster -> Methode für Konstruktor mit Parametern Java Basics - Anfänger-Themen 3
kxrdelis Konstruktor für ein Rechtwinkliges Dreieck Java Basics - Anfänger-Themen 10
K Konstruktor für ein Objekt mit Zugriffsmethoden Java Basics - Anfänger-Themen 7
P Werte für Konstruktor vorschlagen Java Basics - Anfänger-Themen 4
T Konstruktor für eigene Klasse erstellen Java Basics - Anfänger-Themen 6
W Null-Pointer trotz Konstruktor? Java Basics - Anfänger-Themen 9
M Konstruktor-Aufruf im Konstruktor, aber nicht am Anfang? Java Basics - Anfänger-Themen 4
T Schlüsselworte Schlüsselwort this im Konstruktor Java Basics - Anfänger-Themen 3
frager2345 Warum muss ich hier im Konstruktor meine Exeption nicht abfangen ? Java Basics - Anfänger-Themen 4
J Konstruktor Java Basics - Anfänger-Themen 18
G Welche Attribute kommen in den Konstruktor? Java Basics - Anfänger-Themen 5
M wird der Konstruktor nicht als 1. ausgeführt? Java Basics - Anfänger-Themen 13
G Konstruktor und update Java Basics - Anfänger-Themen 4
K Kopier-Konstruktor Java Basics - Anfänger-Themen 6
S Default Konstruktor Java Basics - Anfänger-Themen 7
M Konstruktor ohne Übergabe eines Wertes Java Basics - Anfänger-Themen 7
M Wie kann ich in einem Konstruktor die Methode eines anderen Interfaces mit den jeweiligen Parametern aufrufen? Java Basics - Anfänger-Themen 8
J Vier gewinnt in Java,Spieler Konstruktor Java Basics - Anfänger-Themen 8
Zeppi OOP Bruch kürzen im Konstruktor Java Basics - Anfänger-Themen 2
HorstSchröder Konstruktor mit Initialwert Java Basics - Anfänger-Themen 1
C Konstruktor ab serialisiertem Objekt Java Basics - Anfänger-Themen 4
J Input/Output Konstruktor ergänzen, der zur Datei mit einem Objekt passt Java Basics - Anfänger-Themen 0
InfinityDE Problem mit Datenübergabe an Konstruktor Java Basics - Anfänger-Themen 7
B Konstruktor mit Array als Parameter Java Basics - Anfänger-Themen 3
G Variablen Array Länge über den Konstruktor definieren Java Basics - Anfänger-Themen 4
C Interface und Konstruktor Java Basics - Anfänger-Themen 1
H Generische Konstruktor Java Basics - Anfänger-Themen 12
MiMa Seltsames Verhalten im Konstruktor Java Basics - Anfänger-Themen 6
S Konstruktor passt nicht zum Rest Java Basics - Anfänger-Themen 11
C Unbekannter "Konstruktor"?? Java Basics - Anfänger-Themen 10
W OOP Warenlager mit Array(Konstruktor, Methoden) Java Basics - Anfänger-Themen 39
R Objekt in Konstruktor ist nicht zulässig Java Basics - Anfänger-Themen 5
A Mit einer Methode den Konstruktor aufrufen? Java Basics - Anfänger-Themen 2
B Warum können super() und this() nicht gemeinsam in einem Konstruktor verwendet werden? Java Basics - Anfänger-Themen 7
H Unterschied Konstruktor und Klassenname x = new Klassenname; Java Basics - Anfänger-Themen 3
B Klassen Array Parameter im Konstruktor? Java Basics - Anfänger-Themen 4
E Konstruktor mit Methode Java Basics - Anfänger-Themen 7
E ArithmeticException im Konstruktor Java Basics - Anfänger-Themen 4
S Konstruktor, Objekte Java Basics - Anfänger-Themen 4
F Konstruktor richtig implementiert? Frage zu Benutzereingaben... Java Basics - Anfänger-Themen 9
W Typecastin im Konstruktor? Java Basics - Anfänger-Themen 2
A Variablen Variablenwert über Konstruktor ändern Java Basics - Anfänger-Themen 3
F Arrays im Konstruktor Java Basics - Anfänger-Themen 5
C Konstruktor mit und ohne Parameterliste Java Basics - Anfänger-Themen 13
L Instanzvariablen, Veerbung, Konstruktor Java Basics - Anfänger-Themen 32
E Best Practice Konstruktor mit bestehender Intanz der gleichen Klasse aufrufen Java Basics - Anfänger-Themen 4
E Plausibilitätsprüfung in dem Konstruktor mit Ausnahmebehandlung Java Basics - Anfänger-Themen 8
A Aufruf von Konstruktor , obwohl 2 Parameter weggelassen werden Java Basics - Anfänger-Themen 7
A Aufruf von Konstruktor , obwohl 2 Parameter weggelassen werden Java Basics - Anfänger-Themen 0
D Compiler-Fehler Konstruktor von Superklasse übernehmen Java Basics - Anfänger-Themen 1
P Counter im Konstruktor Java Basics - Anfänger-Themen 11
J toString-Methode in Verbindung mit varArgs-Konstruktor Java Basics - Anfänger-Themen 18
I Einträge in den Konstruktor Java Basics - Anfänger-Themen 3
Aprendiendo [JAVA-Syntax] (int... variable) bei einem Konstruktor Java Basics - Anfänger-Themen 8
J Superklassen Konstruktor Verständnisfrage Java Basics - Anfänger-Themen 1
G Int-Array im Konstruktor Parameter Java Basics - Anfänger-Themen 37
T Datentypen Warum mit Konstruktor Objektvariablen initalisieren? Java Basics - Anfänger-Themen 19
A Vererbung bei Klassen mit Objekt der Klasse im Konstruktor Java Basics - Anfänger-Themen 4
P Konstruktor. Java Basics - Anfänger-Themen 4
D Best Practice Objekt automatisch im Konstruktor füllen? Java Basics - Anfänger-Themen 9
D Objekt oder Konstruktor Java Basics - Anfänger-Themen 2
F Java default Konstruktor Java Basics - Anfänger-Themen 1
R Fragen über den Konstruktor Java Basics - Anfänger-Themen 0
T Konstruktor mit Referenzdatentypen Java Basics - Anfänger-Themen 5
H Klassen Konstruktor Parameter als Instanzvariablen zwischen speichern... Java Basics - Anfänger-Themen 11
T setter im Konstruktor einbauen? Java Basics - Anfänger-Themen 8
R ArrayList im Konstruktor. Java Basics - Anfänger-Themen 4
T Konstruktor Probleme Java Basics - Anfänger-Themen 3
J Wie lässt sich der Konstruktor einer Klasse einer Funktion einer Klasse nutzen. Java Basics - Anfänger-Themen 4
S Variable, die im Konstruktor gesetzt wird, wird nicht gefunden vom Compiler. Java Basics - Anfänger-Themen 4
C Generic im Konstruktor Java Basics - Anfänger-Themen 1
F Privater Konstruktor und statische Methoden Java Basics - Anfänger-Themen 4
W Konstruktor von FileInputStream nicht gefunden Java Basics - Anfänger-Themen 18
B Methoden Konstruktor im Konstruktor aufrufen Java Basics - Anfänger-Themen 2
N Aufgabe: Pizza Konstruktor mit mehreren beliebigen Durchmesser/Preiskombinationen Java Basics - Anfänger-Themen 8
K arraygröße durch variablen Konstruktor? Java Basics - Anfänger-Themen 7
K ArrayList in Konstruktor - wie späterer Zugriff Java Basics - Anfänger-Themen 2
G Verwendung von Konstruktor Java Basics - Anfänger-Themen 8
X Übergabeparameter Konstruktor (File) Java Basics - Anfänger-Themen 13
K Wieso muss man finale statische Variablen sofort oder eben im Konstruktor initialisieren? Java Basics - Anfänger-Themen 2
C Konstruktor in Abstrakten Klassen Java Basics - Anfänger-Themen 4
B Konstruktor Problem Java Basics - Anfänger-Themen 8
Joew0815 konstruktor und damit erstellte objekte Java Basics - Anfänger-Themen 1
K Hashtable mit eigenen Konstruktor Java Basics - Anfänger-Themen 2
S Java Fragen Konstruktor & Statische Methoden Java Basics - Anfänger-Themen 4
H Fehler im Konstruktor abfangen Java Basics - Anfänger-Themen 10
J Konstruktor Problem bei Vererbung Java Basics - Anfänger-Themen 1
I Java Eingabe aus einer anderen Klasse in eine andere an Konstruktor übergeben Java Basics - Anfänger-Themen 4
O Konstruktor und Default Konstruktor Java Basics - Anfänger-Themen 7
S Kapselung Objekt bei Übergabe an Konstruktor nicht initalisiert Java Basics - Anfänger-Themen 3
I Vererbung Frage zum Konstruktor Java Basics - Anfänger-Themen 5
Y Konstruktor - Setter/Getter Java Basics - Anfänger-Themen 3
P Konstruktor Java Basics - Anfänger-Themen 4
E Initialisierung von Attributen und Konstruktor Java Basics - Anfänger-Themen 0
H Compiler-Fehler NullPointerException bei .length, Konstruktor fehlerhaft? Java Basics - Anfänger-Themen 3
M Objekt Array an konstruktor übergeben und Initialisieren Java Basics - Anfänger-Themen 1
llabusch Vererbung Super Konstruktor Java Basics - Anfänger-Themen 5
P Erste Schritte WindowBuilder erstellt Konstruktor wie zugreifen Java Basics - Anfänger-Themen 5
M Parameter von Konstruktor, der Superklassen-Konstruktor aufruft Java Basics - Anfänger-Themen 2
V Was soll alles in den Konstruktor? Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben