Dans ces exercices, vous utiliserez les classes Shape et Point pour répondre à des questions sur une forme composée d'une collection de points du plan x-y, comme indiqué dans le cours.
La forme est définie en traçant une ligne entre deux points adjacents, pour chaque paire de points adjacents, et une ligne entre le premier et le dernier point. Vous pouvez consulter la documentation des classes Shape, Point et FileResource à cette addresse: http://www.dukelearntoprogram.com/course2/doc/javadoc/edu/duke/package-summary.html
Dans ce devoir, vous allez compléter la classe PerimeterAssignmentRunner pour réaliser de nombreux calculs relatifs aux formes. Le squelette de cette classe a été écrit pour vous dans le projet BlueJ attaché. Ce projet contient également plusieurs fichiers de données. En outre, vous devrez consulter la documentation de la classe Shape et de la classe Point.
La classe PerimeterAssignmentRunner inclut déjà les méthodes complètes suivantes:
- La méthode getPerimeter a un paramètre s de type Shape. Étant donné une forme, cette méthode renvoie le périmètre de la forme.
- La méthode testPerimeter n’a pas de valeur de retour, son type de retour est donc null. Cette méthode est utilisée pour sélectionner un fichier de données à l'aide de la classe FileResource, créer une forme basée sur les points de ce fichier de données, puis calculer le périmètre de la forme et générer sa valeur.
- La méthode triangle n'a pas de valeur de retour et crée un triangle que vous pouvez utiliser pour tester les méthodes que vous allez créer dans cette affectation.
- La méthode main.
Pour ce devoir, vous allez ajouter ou modifier plusieurs méthodes dans la classe PerimeterAssigmentRunner.
Terminer l'implémentation de la méthode getNumPoints qui a un paramètre s de type Shape. Cette méthode renvoie un nombre entier correspondant au nombre de points dans la forme s. Astuce: vous devrez parcourir tous les points de la forme S et les compter.
- Ajoutez le code dans la méthode testPerimeter pour appeler getNumPoints et afficher le résultat.
- Terminez l’écriture de la méthode getAverageLength qui a un paramètre s de type Shape. Cette méthode renvoie un nombre de type double correspondant à la moyenne calculée de toutes les longueurs des côtés dans la forme S.
- Ajoutez le code dans la méthode testPerimeter pour appeler la méthode getAverageLength et imprimer le résultat. Notez que si vous sélectionnez le fichier example1.txt, la longueur moyenne du côté doit être 4.0.
- Terminez l’écriture de la méthode getLargestSide qui a un paramètre s de type Shape. Cette méthode renvoie un nombre de type double égal au plus long côté de la forme S.
- Ajoutez le code dans la méthode testPerimeter pour appeler la méthode getLargestSide et afficher le résultat. Notez que si vous sélectionnez le fichier example1.txt, le côté le plus long doit être 5.0.
- Terminez l'écriture de la méthode getLargestX qui a un paramètre s de type Shape. Cette méthode renvoie un nombre de type double correspondant à la plus grande valeur x sur tous les points des formes. 7.Ajoutez le code dans la méthode testPerimeter pour appeler la méthode getLargestX et imprimer le résultat. Notez que si vous sélectionnez le fichier example1.txt, l'abscisse maximale doit être 4.0.
execute me on https://java.miage.dev/?gistId=79346707a25c59b67e8ee3aa38b9f9cd