Les noms tabMonnaies et tabValeurs sont mal choisis. En règle générale, les identificateurs sont insuffisement significatifs. De plus tabMonnaies et tabValeurs sont des constantes de classe et devraient donc être en majuscules séparées par des soulignés.
La gestion de l'absence d'une devise est très dangereuse. D'ailleurs, elle n'est pas traitée dans la méthode main()
Le programme est difficilement réutilisable. Il est nécessaire de modifier Conversion pour rajouter le traitement d'une devise supplémentaire.
Se baser sur l'égalité d'indexation entre une devise et son taux de change est dangereux. De plus, cela rend difficile l'utilisation de plusieurs noms pour une même devise.
La méthode conversion() n'est pas efficace. Son temps de calcul est proportionnel au nombre de devises manipulées.
La variable i de conversion() n'a pas à être déclarée en dehors de la boucle.
La classe Conversion est incomplète. Il n'est pas possible
de savoir si une devise est traitée sans demander une conversion.
De plus, il paraît souhaitable de disposer de la fonction de
conversion de l'Euro vers une autre devise.