Randfall: Ziffern einer Zahl
Eine häufige Programmierübung besteht darin, die Ziffern einer ganzen Zahl zu nehmen und sie irgendwie neu anzuordnen. Der schnellste
Weg, die letzte Ziffer einer ganzen Zahl zu erhalten, ist Modulo 10 (% 10). Das ergibt den Rest bei der Division der
Zahl durch 10.
Hier ist eine Methode, die die letzte Ziffer einer ganzen Zahl zurückgibt. Die Methode schlägt jedoch bei genau der Hälfte aller möglichen Eingaben fehl: bei negativen Zahlen. Das liegt daran, dass Modulo 10 das Vorzeichen der Zahl beibehält.
Gib eine ganze Zahl ein, die dazu führt, dass die Methode lastDigit() einen falschen Wert zurückgibt.
Diese Übung ist Teil des Kurses
Einführung in das Testen in Java
Anleitung zur Übung
- Schreib eine mehrstellige ganze Zahl, deren letzte Ziffer von der Methode
lastDigit()nicht korrekt ermittelt wird.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
public class LastDigit {
public static void main(String[] args) {
// Write down an integer that causes an incorrect return value of lastDigit()
int n = ____;
System.out.println("The last digit of " + n + " equals " + lastDigit(n) + ".");
}
public static int lastDigit(int a) {
return a % 10;
}
}