Utilisation d'entiers pour compter
Vous auriez peut etre voulu utiliser une variable de controle de boucle
de type primitif double ou float, et de lui ajouter 0.1 à
chaque itération. Cela fonctionnerait, mais cela n'est pas conseillé.
Rappelez-vous que 0.1 n'est pas représenté avec une précision
parfaite dans l'ordinateur, et une boucle qui ajoute 0.1 à une variable
pourrait accumuler les erreurs d'arrondis (bien que dans ce cas cela ne
soit pas flagrant).
Juste pour rire, voici un programme effectuant cela. Entrez différentes
valeur limite et constatez l'accumulation d'erreur :
// l'utilisateur (vous) saisit une valeur pour la limit
float inc = 0.1 ;
float value = 0.0 ;
while ( value < limit )
{
value = value + inc;
}
System.out.println( "Value valait " + value + " lorsque la boucle s'est arretée");
|