Ich habe eine Java-Zuordnung für einen Einführungskurs orientierte Programmierung zu widersprechen. Ich habe die Aufgabe beendet, und das Programm funktioniert wie erwartet (brauchte eine Weile, um dies zu erreichen!) Und ich bekomme die gewünschte Ausgabe. Nur mit einer meiner Methoden habe ich 2 FOR-Schleifen mit einer IF-Anweisung verwendet, und ich frage mich, ob es eine andere Möglichkeit gibt, die einfacher, besser oder effizienter ist? Aber ich darf keine ArrayList verwenden. Ich verstehe, dass die ArrayList einfacher, besser und effizienter ist, aber ohne die Möglichkeit, die ArrayList zu verwenden, ist es möglich, meinen Code besser zu machen und trotzdem das gleiche Ergebnis zu erzielen?
Grundsätzlich ersuche ich den Benutzer, eine ID-Nummer eines Eigenschaftenobjekts einzugeben, dann diese ID mit der Arrayindexposition abzugleichen und dieses Objekt von einem Array (propertiesForSale) in ein anderes Array (propertiesSold) zu kopieren 1 bis meinen Zähler (numPropertiesSold) vor dem Löschen und Verdichten (mein Lehrer sagte Umbildung) die die erste (propertiesForSale) Array und Dekrementieren meinen anderen Zähler (numPropertiesForSale) um 1.
My-Code wird wie folgt ..
public void sellProperty(int inID)
{
for (int index = 0; index < numPropertiesForSale; index++) {
if (propertiesForSale[index].getId() == inID) {
propertiesSold[numPropertiesSold]= propertiesForSale[index];
numPropertiesSold++;
for (int i = index; i < numPropertiesForSale; i++) {
propertiesForSale[i] = propertiesForSale[i + 1];
}
numPropertiesForSale--;
}
}
}
Wenn es einen einfacheren, besseren oder effizienteren Weg gibt, ohne ein ArrayL zu verwenden ist, bin ich nur neugierig zu sehen, ob es da ist und wie es gemacht würde.
Vielen Dank für Ihre Zeit, Geduld und Input (falls vorhanden).
'if' nicht Schleife. –
Ah ja in der Tat, danke für das Hinzeigen. – bigdal
Haben Sie auch Karten verwendet? Das wäre mit einem K-> V-Modell viel schöner als eine lineare Array-Struktur sowie effizienter – maasg