Wie kann ich in Java herausfinden, ob eine Zahl gerade oder ungerade ist?
4 Antworten
In Java gibt es, wie in vielen anderen Programmiersprachen auch, den sog. Modulo-Operator. Er wird als Prozentzeichen geschrieben. Dieser wird wie das Divisionszeichen angewendet, gibt stattdessen aber nicht den Quotienten, sondern die Summe zurück.
Anwendungsbeispiel:
10 % 3 = 1; // denn bei 10 / 3 bleibt der Rest 1
12 % 2 = 0; // bei der Division bleibt kein Rest übrig
3.2 % 2 = 1.2; // Der Modulo-Operator funktioniert auch bei Kommazahlen
Konkret bedeutet das für deinen Fall, wenn du eine Zahl auf gerade oder ungerade untersuchen möchtest musst du durch 2 teilen: Alle geraden Zahlen sind durch 2 teilbar, die ungeraden nicht.
Also:
if(x % 2 == 0){
// Zahl ist gerade
} else if (x % 2 == 1) {
// Zahl ist ungerade
} else {
// nicht ganzzahlig
}
Wenn x in diesem Fall ein ganzzahliger Typ ist (char, byte, short, int, long), kann der else-Block natürlich auch ausgelassen werden.
if(x % 2 == 0){
// Zahl ist gerade
} else {
// Zahl ist ungerade
}
z = Deine Zahl
if (z%2==0) {...Anweisung was das Programm machen soll wenn die Zahl gerade ist}
Wenn du stattdessen prüfen willst ob die Zahl ungerade ist, mach aus dem Gleichheitsoperator einen Ungleichoperator
boolean isEven = (x % 2) == 0;
Nur mal so als Tipp: http://userpage.fu-berlin.de/~ram/pub/pub_jf47ht81Ht/java_modulo_de