Jag har en vector som inehåller objekt av typen Människa Hejsan, Verkar inte funka något vidare. Jag använder version 1.4.2 och kan inte uppgradera så måste funka med den versionen. Skall det inte vara <b>for(int i = 0; i < manniskor.length(); i++){</b> (eller vad storleksattributet nu heter). Nej det är en vector så size är rätt. Det är hakparanteserna som den klagar på. Hur kan man anråpa en metod hos objektet som finns lagrat i en vektor? alltså pratar vi om en array eller java.util.Vector? size? Men det står ju <b>for(int i = 0; i < manniskor.hoppa(); i++){</b>. Verkar som jag läste fel i specifikationen. Du kan till exempel använda get() eller elementAt(), som du kan se i den länk jag gav dig. En vector lagrar alla objekt av typen Objekt detta gör att man måste göra en explicit typ omvandling för att kunna referera till objektets funktioner. Denna typ omvandling sker precis som Simon Dahlbacka skrev: <b>((Människa)</b> din_vektor.get(i)).hoppa(); Anropa metoder i Vector objektsamlingar.
Classen Människa har en funktion som heter Hoppa.
Nu vill jag anropa den funktionen från min objektsamling i Vectorn. Hur gör jag det?Sv: Anropa metoder i Vector objektsamlingar.
Kanske jag som inte förstod frågan helt fullt.
Men torde det inte fungera att loopa igenom hela vektorn och anropa Hoppa() på varje element? Blir inte detta det förväntade resultatet? Eller menade du något annat?
Enligt specifikationen kan du använda en vektor precis som en array vad gäller indexering. Det vill säga, du kan komma åt element 0 så här: mVector[0].
Du kan även ta reda på vektorns längd mha size(), så du kan loopa igenom den.
Fler nyttiga funktioner finns att läsa i specifikationen, som finns här:
http://java.sun.com/j2se/1.3/docs/api/java/util/Vector.htmlSv:Anropa metoder i Vector objektsamlingar.
Några tipps vad som är fel? Han klagar på hakparanteserna.
<code>
public Manniska skahoppa() {
int hopp = 0;
Manniska skaHoppa;
for(int i = 0; i < manniskor.hoppa(); i++){
if(manniskor[i].hoppa() > hopp){
hopp = manniskor[i].hoppa();
skaHoppa = manniskor[i];
}
}
return varmast;
}
</code>Sv: Anropa metoder i Vector objektsamlingar.
Sv:Anropa metoder i Vector objektsamlingar.
Sv: Anropa metoder i Vector objektsamlingar.
i det senare fallet är det väl typ
((Människa) din_vektor.get(i)).hoppa();
Sv: Anropa metoder i Vector objektsamlingar.
Sv: Anropa metoder i Vector objektsamlingar.
Sv: Anropa metoder i Vector objektsamlingar.