Division mit Rest: Der Restwertoperator

Mit dem Laden des Videos akzeptierst du die Datenschutzerklärung von YouTube. Wenn du die Menge an Daten reduzieren möchtest, die YouTube von dir sammelt, solltest du dich vorher aus deinem YouTube-Account ausloggen, das Speichern von Cookies für das Google-Ads-Programm deaktivieren und/oder Cookies im Browser blockieren.
YouTube immer automatisch ladenInhaltsverzeichnis
Als Text lesen
In der Grundschule hast du die Divison mit Rest gelernt. Keine Panik, wir machen hier kein schriftliches Dividieren, versprochen. Dafür haben wir ja einen Computer ;)
Ich habe dich schon vorgewarnt, dass in Java Divisionen mit int
immer abgerundet werden. Wenn du zum Beispiel 8 / 3
rechnest, erhältst du als Ergebnis 2, denn 8 ÷ 3 ist (nach Grundschulrechnung) 2 Rest 2. Java ignoriert den Rest, und spuckt das abgerundete Ergebnis aus. Was aber, wenn du dich genau für diesen Rest interessierst?
Hierfür gibt es den Restwertoperator (fälschlicherweise häufig auch Modulo genannt), der mit dem Prozentzeichen beschrieben wird: %
Vorsicht bei Division durch 0! Sowohl der Divisionsoperator, als auch der Restwertoperator spucken den Fehler java.lang.ArithmeticException: / by zero
aus, falls du versuchst durch 0
zu teilen
Der Restwertoperator %
wird sehr häufig verwendet, um zu überprüfen, ob eine Zahl durch eine andere Zahl teilbar ist. Beispielsweise kann mit folgendem Code herausgefunden werden, ob ein int
durch 3 teilbar ist:
Deine Aufgabe ist es nun, ein Programm zu schreiben, das alle Teiler einer gegebenen Zahl n
ausgibt. Für n = 42
sollen zum Beispiel die Zahlen 1, 2, 3, 6, 7, 14, 21 und 42 ausgegeben werden. Du kannst davon ausgehen, dass n
immer mindestens 1 ist.

Mit dem Laden des Online Editors akzeptierst du die Datenschutzerklärung von JDoodle, einem Produkt der Nutpan pty Ltd (Australien). JDoodle verwendet die Tools reCAPTCHA und Google Analytics, wodurch Daten an Google übertragen werden können. Ich habe leider keinen Einfluss auf diesen Prozess. Du kannst Google Analytics über ein Browserplugin deaktivieren.
Online Editor immer automatisch ladenHäufige Fehlerquellen
- Schleife falsch: Verwende eine
for
-Schleife, die von1
bisn
zählt. - Modulo falsch verwendet: Du musst überprüfen, ob
n % i == 0
ist, damiti
ein Teiler vonn
ist