Bonjour à tous,
Je fais actuellement un TP de Java dans lequel j'ai plusieurs classes :
1. Une classe Agent, disposant notamment de l'attribut list_mission_objects
(une ArrayList d'instances de MissionObject).
-
Une classe étonnamment non-abstraite "MissionObject", disposant de l'attribut de type int
poids
. -
Des classes héritant de MissionObject : RadioactiveObject, PreciousObject…
Sujet du TP
Je bute sur la dernière question du TP. Il est demandé de calculer le poids total des :MissionObject d'un :Agent donné de trois façons différentes :
1. Avec un for
;
-
Avec un
iterator
; -
Avec une approche strictement fonctionnelle.
Mes solutions
Alors pour les 2 premiers points, c'est facile :
1. Je parcours mon ArrayList avec le for jusqu'à la taille de l'ArrayList, j'utilise la méthode ArrayList:get(int) pour récupérer le :MissionObject en cours et à chaque tour de boucle j'ajoute le poids (:MissionObject:getWeight) dans une variable poids
déclarée juste avant le for.
- Pour l'itérateur, je le crée juste avant un
while(my_iterator.hasNext())
en utilisant la méthode :ArrayList:iterator(). Puis dans ce while, j'ajoute le poids du :MissionObject courant (ite.next().getPoids()
) dans une variable déclarée avant ce while.
Bref rien de bien sorcier.
Le problème que je rencontre
Par contre… Je ne vois pas du tout quoi faire pour l'approche strictement fonctionnelle : je ne pense pas qu'il faille utiliser la récursivité.
Et c'est là que je butte.... Quelqu'un aurait une idée ?