Valeur sentinelle en Java
Dans un contexte de programmation, sentinelle
est une valeur spécifique utilisée pour terminer une condition dans un algorithme récursif ou en boucle. La valeur sentinelle est utilisée de plusieurs manières, telles que les données factices, les données de drapeau, la valeur rouge ou la valeur du signal.
Utilisation de la valeur Sentinel dans une boucle While
Ce programme lit les entrées de l’utilisateur et imprime le produit des nombres entrés. Dans la condition de boucle while
qui se termine c’est si number != 0
. Il s’agit de la valeur sentinelle qui arrête la poursuite de l’exécution de la boucle. Il permet aux utilisateurs de savoir quand ils ont terminé avec l’entrée.
La valeur Sentinel
n’est pas la partie de l’entrée qui doit être traitée.
La valeur sentinelle doit être d’un type de données similaire, mais elle doit différer de l’entrée normale. Cela dépend strictement des besoins de l’utilisateur quant au nombre de fois qu’une boucle contrôlée par sentinelle est censée s’exécuter.
Ils reçoivent les informations de l’utilisateur et utilisent la classe Scanner
. A ce titre, un objet input
de la classe Scanner
est créé.
L’utilisateur est invité à saisir un nombre autre que 0 pour continuer. Mais, pour arrêter davantage l’exécution du code, l’utilisateur doit entrer 0.
Pour obtenir les nombres d’entrée de l’utilisateur, nous appelons la méthode nextInt()
sur l’objet input
. L’utilisateur décide à quelle fréquence la boucle est exécutée et quand la terminer.
La boucle while
reçoit des nombres de l’utilisateur jusqu’à ce que le nombre zéro soit entré. Lorsque l’utilisateur entre zéro, le programme doit générer le produit de tous les nombres entrés.
Dans une boucle contrôlée par sentinelle, l’utilisateur peut quitter la boucle sur une condition spécifique car la condition ne dépend pas d’un compteur.
import java.util.Scanner;
public class SentinelTesting {
public static void main(String[] args) {
int enteredNum, numberMultiplied, counter;
counter = 0;
numberMultiplied = 1;
Scanner scannerObj = new Scanner(System.in);
System.out.println("To move ahead, enter a number other than 0");
enteredNum = scannerObj.nextInt();
while (enteredNum != 0) {
numberMultiplied = numberMultiplied * enteredNum;
counter++;
System.out.println("To proceed, enter a number other than 0");
enteredNum = scannerObj.nextInt();
}
System.out.println("The result of multiplying the entered numbers = " + numberMultiplied);
}
}
Production :
To move ahead, enter a number other than 0
10
To proceed, enter a number other than 0
20
To proceed, enter a number other than 0
5
To proceed, enter a number other than 0
0
The result of multiplying the entered numbers = 1000
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn