Zugriff auf ein element eines Objekt in einer arraylist
Arbeite ich mit einem ArrayList
von Objekten, die mehrere Variablen. Zum Beispiel:
//pseudo code
class Ticket {
int gameID
double price
int seatnumber
}
und ich habe eine ArrayList
mehrere Ticket
Objekte und müssen Zugang zu Ihnen haben. Ich habe in der javadoc und so weit ich habe mit
list.get(index).attribute
Jedoch bekomme ich einen compile-Fehler sagen:
nicht finden können, das symbol
mache ich etwas falsch mit der syntax?
hier ist mein code:
public static void printGameMoney(ArrayList games, ArrayList tickets)
{
double total = 0;
double tickMoney = 0;
for (int i=0; i<tickets.size(); i++)
{
double tickMoney = tickets.get(i).priceOfTick;
total = total + tickMoney;
}
}
- Fehler hängt davon ab, was Sie schrieb. Zeigen Sie das voll-codes bitte.
- Bitte zeigen Sie Ihre code ein, und markieren Sie die Zeile, wo Sie sind immer die Fehlermeldung.
- Schreiben Sie Ihre wahre code, nicht pseudo ein. Niemand wird versuchen zu erraten, was in Ihrem code, wenn Sie don ' T zeigen es.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn das Attribut ist wirklich einer deiner Schüler, dann benutzen Sie bitte wie folgt.
Du code ist "old-school", sollten Sie getippt-Typen, Schnittstellen und neuen Stil for-Schleife:
Beachten Sie auch diese Methode ist seltsam, da es nichts zurückgibt.
Starten Sie, indem Sie ein Semikolon nach jedem Feld-Deklaration:
Auch, zeigen den genauen code, die Sie verwenden, anstatt
list.get(index).attribute
.Diese stattdessen zu verwenden:
Grundsätzlich die änderung führt zu einer
ArrayList<Ticket>
statt einfachArrayList
. Auf diese Weise sagen Sie dem compiler, dass Objekte, die sich innerhalb IhrerArrayList
sindTicket
geben, deshalb haben Sie Attribute, die Sie angegeben (z.B.priceOfTick
).Gleiche gilt für
games
, so, wenn SieGame
Klasse, die Sie verwenden solltenArrayList<Game> games
.Haben Sie Zugriff auf die wie dieses
list.get(i).price;
nichtlist.price.get(i);
Problem hier ist, dass Sie mit Ihrer Verzögerung von
ArrayList
Wenn Sie erklären, wie
ArrayList<Ticket>
Sie brauchen nicht zu werfen, dass es zwar immer. Andere weisen, die Sie benötigen, eine Besetzung gibt. Mehr über die Verwendung for-each-Schleife.