Hallo Leute,
im folgenden Code werden zwei Objekte erstellt und in der ArrayList gespeichert, jedoch werden die erst eingegeben Daten von den zweit eingegeben Daten (im Array) überschrieben... Wie muss ich meinen Code ändern um das zu verhindern? Eventuell noch eine Klasse anlegen mit Konstruktor?
im folgenden Code werden zwei Objekte erstellt und in der ArrayList gespeichert, jedoch werden die erst eingegeben Daten von den zweit eingegeben Daten (im Array) überschrieben... Wie muss ich meinen Code ändern um das zu verhindern? Eventuell noch eine Klasse anlegen mit Konstruktor?
Java:
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String[]> arrList = new ArrayList<String[]>();
String[] arr = new String[3];
String automarke = null;
String modell = null;
String leistung = null;
//erstes Objekt
Objekt o = new Objekt();
o.setEingabe(arrList, arr, automarke, modell, leistung);
//zweites Objekt
Objekt e = new Objekt();
e.setEingabe(arrList, arr, automarke, modell, leistung);
e.ausgabe(arrList, arr);
}
}
Java:
import java.util.List;
public class Objekt {
public void setEingabe(List<String[]> arrList, String[] arr, String automarke, String modell, String leistung) {
arr[0] = automarke = StdInput.readString("Automarke: ");
arr[1] = modell = StdInput.readString("Modell: ");
arr[2] = leistung = StdInput.readString("Leistung: ");
arrList.add(arr);
}
public void ausgabe(List<String[]> arrList, String[] arr){
for(int i=0; i<arrList.size(); i++){
System.out.println(i + ". Datensatz:");
for(int x=0; x<arr.length; x++){
System.out.println(arr[x]);
}
}
}
}