function main() {
// Für die Zahl, von der die Quersumme berechnet, werden soll, wird die Variable zahl deklariert.
var zahl;
// Für das Ergebnis und Zwischenwerte der Quersumme wird die Variable quersumme deklariert.
var quersumme;
// Die Variable r ist eine Hilfsvariable, die dazu dient, die einzelnen Ziffern der mehrstelligen Zahl zwischenzuspeichern.
var r;
// Eine Zahl, die kleiner als 10 ist, entspricht bereits ihrer Quersumme. Zum Beispiel die Zahl 5 hat die Quersumme 5. Daher wird hier nach einer Zahl gefragt, die größer als 10 ist.
window.alert("Geben Sie ein Zahl, die größer als 10 ist, ein: ");
zahl = Number(window.prompt('Enter a value for zahl'));
// Es ist auch möglich, Quersummen von negativen Zahlen zu berechnen. Dazu wird hier die boolesche Variable negativ deklariert und mit dem Wert false initialisiert.
var negativ;
negativ = false;
// In der Fallunterscheidung wird geprüft, ob die eingegebene Zahl kleiner als 0 ist, falls ja, wird der Wert der Variable negativ auf true gesetzt und die eingegebene Zahl mit -1 multipliziert. Die Zahl ist dann positiv, nach der Berechnung der Quersumme wird das Ergebnis später wieder mit -1 multipliziert.
if (zahl < 0) {
negativ = true;
zahl = zahl * -1;
}
if (zahl > 10) {
quersumme = 0;
while (zahl > 0) {
// Mithilfe der Modulo Funktion (MOD) kann die letzte Stelle der Zahl abgeschnitten werden.
r = zahl % 10;
// Die Zahl wird jetzt durch 10 geteilt.
zahl = (double) zahl / 10;
quersumme = quersumme + r;
}
} else {
// Wenn die Zahl kleiner als 10 ist, entspricht die Zahl der Quersumme. Daher ist keine weitere Rechnung nötig.
quersumme = zahl;
}
window.alert("Die Quersumme der gebenen Zahl ist: ");
// Hier wird geprüft, ob die ursprünglich Zahl negativ war, falls ja, wird die berechnete Quersumme mit -1 multipliziert.
if (negativ) {
quersumme = quersumme * -1;
}
window.alert(quersumme);
}