Si vous avez un ensemble de valeurs et que vous souhaitez afficher un histogramme vertical de celles-ci dans une application Java, vous pouvez le faire en utilisant des boucles. En déterminant d’abord la valeur maximale dans votre set, puis en imprimant une ligne de l’histogramme de cette valeur jusqu’à une, vous pouvez créer une sortie de chaîne de texte que vous pouvez afficher dans la console de sortie standard, une interface utilisateur graphique ou tout autre flux de sortie que vous choisissez. Vos valeurs d’entrée peuvent être des types numériques tels que des entiers et peuvent être stockées dans une structure telle qu’un tableau.
Préparez vos valeurs d’histogramme. Le code suivant démontre une courte série de valeurs entières de type primitif stockées dans une structure de tableau : int[] values = {5, 3, 7, 4, 6} ;
Vos valeurs peuvent être stockées dans une autre structure de stockage Java de votre choix, tant que vous pouvez itérer à travers la structure dans une boucle. Vous pouvez utiliser autant de valeurs que votre projet l’exige.
Trouvez la valeur maximale dans votre ensemble. Pour afficher l’histogramme vertical, vous devrez travailler du haut vers le bas, donc la première étape est de trouver la valeur maximale. Le générique suivant pour la structure de boucle démontre le stockage de la valeur maximale du tableau dans une variable entière : int maxValue=0 ; for(int i : values) if(i>maxValue) maxValue=i ;
La boucle itère à travers le tableau, vérifiant chaque valeur à tour de rôle. Lorsqu’il rencontre une valeur supérieure à la plus grande valeur rencontrée jusqu’à présent, il met à jour la variable en conséquence. Quand la boucle finit de s’exécuter, la variable entière stockera la valeur maximale dans le tableau.
Bouclez les valeurs de la plus grande à la plus petite. Vous devrez imprimer votre histogramme du haut vers le bas, donc utilisez une boucle avec la structure suivante : for(int j=maxValue ; j>0 ; j>0 ; j–){ ///go through values }.
Cette boucle commence à la valeur maximale et compte jusqu’à un, en vérifiant que le compteur d’index est supérieur à zéro et en décrémentant d’un à chaque fois que la boucle itére. Vous devrez ajouter plus de code à l’intérieur de cette boucle.
Bouclez vos valeurs. Dans la boucle qui compte à partir de la valeur maximale vers le bas, ajoutez une autre boucle à l’itération à travers le tableau de valeurs comme suit : for(int k=0 ; k<values.length ; k++){="" print=""" values="" values=""" }
=0 ; k=0 ; k<values.length ; k+++){="" print=" values=""" values="""" }
« .
A l’intérieur de cette boucle, ajoutez une instruction conditionnelle vérifiant si la valeur est au moins la valeur courante dans la boucle extérieure : if(values[k]>=j) System.out.print(« | ») ; sinon System.out.print(« » « ) ;
Si la valeur est au moins la valeur dans la boucle extérieure, le programme imprimera un caractère, dans ce cas le caractère barre. Si la valeur n’est pas assez grande, le programme imprimera un caractère espace, en gardant les lignes de l’histogramme vertical correctement alignées.
Entrez de nouvelles lignes dans votre histogramme. Après la boucle dans laquelle vous avez effectué l’opération d’impression conditionnelle, mais toujours à l’intérieur de la boucle en comptant à partir de la valeur maximale, entrez une nouvelle ligne : System.out.println() ;
La sortie placera la sortie de la prochaine itération de boucle sur une nouvelle ligne pour que votre histogramme s’affiche correctement. Sauvegardez et exécutez votre programme. Pour l’exemple des entiers de tableau, il devrait afficher cinq caractères de barre dans la première colonne, trois dans la deuxième, et ainsi de suite.
Laisser un commentaire