Questions techniques et Forum

Tri des actes en fonction des couts

Tri des actes en fonction des couts

by Deleted user -
Number of replies: 2

Bonjour, 
Nous essayons de trier les actes qui sont dans le Vector<Acte> en fonction de leur cout. Nous arrivons à comparer deux actes, mais nous n'arrivons pas à comparer les actes dans une boucle for puis à les trier (échange acte.get(i) et acte.get(i+1)). 
Nous ne comprenons pas de quel type doit être notre méthode trierActes, si elle est de type Vector<Acte> et doit retourner acte, Acte et doit retourner acte.get(i) ou bien String avec en return acte.toString(). 

Les erreurs sont : 

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 3
at java.util.Vector.get(Vector.java:744)
at Hopital.ComparaisonFicheCouts.comparerActes(Unknown Source)
at Hopital.Test.main(Unknown Source)
Java Result: 1

Merci d'avance pour votre réponse !




In reply to Deleted user

Re: Tri des actes en fonction des couts

by Deleted user -

Bonjour,

Votre premier message d'erreur indique "java.lang.ArrayIndexOutOfBoundsException", ce qui veut dire que l'indice que vous passez à votre vecteur est en dehors des bornes de celui-ci. L'erreur doit venir de votre "get(i+1)" : si i va de 0 à la (n-1) (n étant la taille de votre tableau), vous aurez forcément un dépassement quand i sera égal à (n-1) : (n-1) + 1 = n => dépassement de la borne.

Pour faire votre comparaison utilsier la classe "ComparaisonFicheCouts" fournie avec comme base la méthode "void trier(ComparaisonFiches c)" de la classe "DossierMedical".

J'espère que ma réponde va vous aider.

Bon courage

 

Mathieu BAILET

In reply to Deleted user

Re: Tri des actes en fonction des couts

by Deleted user -

Nous avons réglé le soucis de la borne de la boucle. Maintenant, on essaye de trier avec deux boucles "for" mais on ne trouve pas la combinaison adéquate ...