Wie kann ich in Java herausfinden, ob eine Zahl gerade oder ungerade ist?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

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;