Przypadek brzegowy: cyfry liczby
Popularne ćwiczenie programistyczne polega na pobraniu cyfr liczby całkowitej i ułożeniu ich w określony sposób. Najszybszym sposobem na uzyskanie ostatniej cyfry liczby całkowitej jest użycie modulo 10 (% 10). Zwraca ono resztę z dzielenia tej liczby przez 10.
Poniżej znajduje się metoda zwracająca ostatnią cyfrę liczby całkowitej. Metoda ta działa niepoprawnie dla dokładnie połowy możliwych wartości wejściowych – liczb ujemnych. Dzieje się tak dlatego, że modulo 10 zachowuje znak liczby.
Wprowadź wartość całkowitą, dla której metoda lastDigit() zwraca niepoprawny wynik.
To ćwiczenie jest częścią kursu
Wprowadzenie do testowania w Javie
Instrukcje do ćwiczenia
- Wpisz wielocyfrową liczbę całkowitą, której ostatnia cyfra nie jest poprawnie rozpoznawana przez metodę
lastDigit().
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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;
}
}