Hallo!
Ich habe eine Abstrakte Klasse "EnergyTypes".
Davon sind 7 andere Klassen abgeleitet:
Die Abstrakte Klasse hat alle Eigenschaften der abgeleiteten Klassen und die abgeleiteten haben teilweise spezielle Methoden und Parameter.
Ich erstelle in einer anderen Klasse:
Somit beinhaltet das Array "energyTypes" verschiedene abgeleitete Klassen von EnergyTypes.
Dieses Array wird an einer anderen Listarray angehängt
Das funktionier auch und wenn ich Debuge sehe ich im Array die verschiedenen energyTypes.
Nun muss ich aber über das Array "energyTypes" iterieren und da habe ich das Problem:
"ent" ist hier IMMER die Position 1 vom "energyArray" und nicht Position 0.
Also als wäre (registerPosition-1)=1
Ich habe per debuger geprüft: Variable "registerPosition" ist 1 ... davon 1 abziehen ist Wert 0.
Dennoch zeigt er mir bei "ent" immer den ersten Wert von "energyTypes" bei der Position 1 an.
Reichen die Infos um meinen Fehler zu finden?
Danke!
Ich habe eine Abstrakte Klasse "EnergyTypes".
Davon sind 7 andere Klassen abgeleitet:
Java:
public class Volt extends EnergyTypes {}
Java:
public class Current extends EnergyTypes {}
Die Abstrakte Klasse hat alle Eigenschaften der abgeleiteten Klassen und die abgeleiteten haben teilweise spezielle Methoden und Parameter.
Ich erstelle in einer anderen Klasse:
Java:
EnergyTypes energyTypes[] = new EnergyTypes[21];
energyTypes[0] = new Volt("voltage1", "V", (char) 0, 1);
energyTypes[1] = new Current("current1", "A", (char) 12, 1);
....
Somit beinhaltet das Array "energyTypes" verschiedene abgeleitete Klassen von EnergyTypes.
Dieses Array wird an einer anderen Listarray angehängt
Das funktionier auch und wenn ich Debuge sehe ich im Array die verschiedenen energyTypes.
Nun muss ich aber über das Array "energyTypes" iterieren und da habe ich das Problem:
Java:
for (EnergyTypes ent : getInputRegister(registerPosition-1).energyTypes) {
}
"ent" ist hier IMMER die Position 1 vom "energyArray" und nicht Position 0.
Also als wäre (registerPosition-1)=1
Ich habe per debuger geprüft: Variable "registerPosition" ist 1 ... davon 1 abziehen ist Wert 0.
Dennoch zeigt er mir bei "ent" immer den ersten Wert von "energyTypes" bei der Position 1 an.
Reichen die Infos um meinen Fehler zu finden?
Danke!
Zuletzt bearbeitet: