Wie überprüfe ich, ob die letzte Ziffer einer Zahl eine 0 ist (Java)?

3 Antworten

Auch wenn es seltsam erscheint und andere Lösungen WESENTLICH performanter sind, mache ich einfach mal den Vorschlag einer semantischen Lösung, die das formulierte Problem 1:1 aufgreift.

if (Integer.toString(zahl).endsWith("0")) {
  ...
}

Hintergrund:

Das Problem spricht von "Ziffern". Ziffern selbst sind nur Symbole, die durch die Nutzung eines Stellenwertsystem erst einen Wert bekommen und eine Zahl "zusammenbauen". Vorher sind Ziffern nur spezielle Zeichen, mehr nicht. (Siehe https://de.wikipedia.org/wiki/Zahlzeichen")

Natürlich kann man die Lösung auch so formulieren:

if (zahl % 10 == 0) {
  ..
}

Blöd nur, dass hier das mentale Mapping zum Ursprungsproblem wesentlich größer ist. Die meisten Entwickler werden das trotzdem präferieren und eine Funktion mit aussagekräftigen Namen vergeben. Aber man muss hier einmal um die Ecke denken um das zu lösende Problem zu rekonstruieren.

if (zahl % 10 == 0)

Das ist der Modulo Operator.

Woher ich das weiß:Berufserfahrung – Informatiker Applikationsentwicklung

Mit Modulo arbeiten:

if (n % 10 == 0) {...}
Woher ich das weiß:Studium / Ausbildung – Informatik studiert und mit PCs & Technik beschäftigt