Spaceman85
Mitglied
Hallo habe hier Zwei Klassen
Klasse Field:
Klasse BoardControllerImpl:
Wie man erkennen kann habe ich schon einiges ausprobiert!
Die Methode readSttreets liest Zeilen aus einer textdatei ein und soll jede zeile in ein neues arrayelement des typs fields speichern, mein problem ist nun wenn ich unten in der main-methode den array aufrufe gibt er mir immer das selbe aus egal was ich als index in fields[] nehme, er gibt immer die letze zeile der textdatei aus, also was in der methode zuletzt gespeichert wurde! Wo ist mein Fehler?
Danke
Klasse Field:
Java:
public class Field implements de.miniopoly.Field{
static String fieldType;
public Field(String fieldType){
this.fieldType=fieldType;
}}
Java:
public class BoardControllerImpl{
Field[] fields;// = new Field[41];
static String[] test = new String[41];
Field feld = new Field("h");
public BoardControllerImpl(Field[] fields){
this.fields=fields;
}
void readStreets() throws IOException{
FileReader reader = new FileReader("res/streets.txt");
BufferedReader buffer= new BufferedReader(reader);
try{
String s ;
for (int i=0;( s= buffer.readLine()) != null;i++){
fields[i].fieldType=s;
// System.out.println(s + " " + i );
test[i]=s;
}
}finally{
if(buffer != null)
buffer.close();
}}
public static void main(String[] args) throws IOException{
BoardControllerImpl b = new BoardControllerImpl(new Field[40]);
b.readStreets();
System.out.println(b.fields[0].fieldType);
}
}
Die Methode readSttreets liest Zeilen aus einer textdatei ein und soll jede zeile in ein neues arrayelement des typs fields speichern, mein problem ist nun wenn ich unten in der main-methode den array aufrufe gibt er mir immer das selbe aus egal was ich als index in fields[] nehme, er gibt immer die letze zeile der textdatei aus, also was in der methode zuletzt gespeichert wurde! Wo ist mein Fehler?
Danke
Zuletzt bearbeitet von einem Moderator: