Sentinel-Wert in Java
In einem Programmierkontext ist Sentinel
ein bestimmter Wert, der verwendet wird, um eine Bedingung in einem rekursiven oder Schleifenalgorithmus zu beenden. Der Sentinel-Wert wird auf vielfältige Weise verwendet, z. B. als Dummy-Daten, Flag-Daten, Rouge-Wert oder Signalwert.
Verwendung des Sentinel-Werts in einer While-Schleife
Dieses Programm liest die Eingabe vom Benutzer und druckt das Produkt der eingegebenen Zahlen aus. In der Schleifenbedingung while
, die beendet wird, ist number != 0
. Dies ist der Sentinel-Wert, der die weitere Ausführung der Schleife stoppt. Es ermöglicht Benutzern zu wissen, wann sie mit der Eingabe fertig sind.
Der Wert Sentinel
ist nicht der Teil der Eingabe, der verarbeitet werden soll.
Der Sentinel-Wert muss einen ähnlichen Datentyp haben, sollte sich jedoch von der normalen Eingabe unterscheiden. Es hängt streng von den Benutzeranforderungen ab, wie oft eine Wächter-gesteuerte Schleife ausgeführt werden soll.
Sie erhalten Eingaben vom Benutzer und verwenden die Klasse Scanner
. Als solches wird ein Objekt input
der Klasse Scanner
erstellt.
Der Benutzer wird aufgefordert, eine beliebige Zahl außer 0 einzugeben, um fortzufahren. Um die Ausführung des Codes jedoch weiter zu stoppen, muss der Benutzer 0 eingeben.
Um die Eingabenummern vom Benutzer zu erhalten, rufen wir die Methode nextInt()
am Objekt input
auf. Der Benutzer entscheidet, wie oft die Schleife ausgeführt wird und wann sie beendet wird.
Die while
-Schleife empfängt Zahlen vom Benutzer, bis die Zahl Null eingegeben wird. Wenn der Benutzer Null eingibt, sollte das Programm das Produkt aller eingegebenen Zahlen erzeugen.
In einer Wächter-gesteuerten Schleife kann der Benutzer die Schleife unter einer bestimmten Bedingung verlassen, da die Bedingung nicht von einem Zähler abhängt.
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);
}
}
Ausgabe:
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