Skip to main content

Java Übung & Lösung: Gerade oder ungerade Zahlen?


java programmierung übung lösung gerade ungerade zahlen

In dieser Java Übung geht es um Zahlen.

Um genau zu sein….
Es geht um gerade und ungerade Zahlen.

Zur Erinnerung.
Gerade Zahlen sind Zahlen, welche durch zwei teilbar sind.
Ungerade Zahlen sind alle Zahlen, welche nicht glatt durch zwei teilbar sind.

Ich möchte, dass du eine Klasse „GeradeZahlen“ anlegst.
Diese enthält natürlich die main Methode.

Aber diese Klasse soll weiterhin eine statische Methode enthalten, welche eine ganze Zahl als Parameter erwartet.
Diese ganze Zahl soll dann im Methodenrumpf untersucht werden.

Falls die Zahl eine gerade Zahl ist, erfolgt die Konsolenausgabe „Zahl ist gerade“.
Falls die übergebene Zahl aber ungerade sein sollte, erfolgt die Ausgabe „Zahl ist ungerade“.

Löse diese Java Übung durch eine bedingte Anweisung im Methodenrumpf.


Die Lösung der Java Übung Schritt für Schritt.

Erst einmal die Klasse und die Methoden.

public class GeradeZahlen {

	static void unterscheideZahlen(int zahlWert) {
		
	}
	
	public static void main(String[] args) {
		
	}
}

Die Methode, welche die Zahlen unterscheiden soll, heißt „unterscheideZahlen“.
Die Methode ist eine Klassenmethode.
Daher enthält der Methodenkopf das Keywort static.
Dies hat den Vorteil, dass du zur Ausführung der Methode keine Instanz erzeugen musst.

Die Methode soll weiterhin nur Konsolenausgaben erzeugen.
Deshalb hat sie void als Rückgabetyp.

So und jetzt bette die bedingte Anweisung in den Methodenrumpf ein.
Als Erstes benötigst du einen Vergleichsausdruck.
Falls der Ausdruck wahr ist – Dann ist die Zahl gerade.
Ansonsten ist die Zahl ungerade.

Der Modulo Operator ermittelt den Restwert einer Division.
Beispielsweise würde 4 Modulo 2 den Restwert 0 ergeben.
5 Modulo 2 würde den Restwert 1 ergeben.
Denn 5 geteilt durch 2 ist gleich 2 Rest 1.

Somit kannst du sagen, dass alle geraden Zahlen, bei einer Division durch 2, einen Restwert von 0 hätten.

Und du lässt, innerhalb der Methode, den Wert des Argumentes / Parameters prüfen.
Und dieser heißt in diesem Beispiel „zahlWert“.

Somit nutzt du die Bedingung:
zahlWert % 2 == 0

Jetzt bindest du das Ganze in einen if Block ein.

public class GeradeZahlen {

	static void unterscheideZahlen(int zahlWert) {
		if (zahlWert % 2 == 0) {
			System.out.println("Zahl ist gerade");
		}	
	}
	
	public static void main(String[] args) {
		unterscheideZahlen(2);
	}
}

Ich habe innerhalb der main-Methode die „unterscheideZahl-Methode“ mit dem Argument 2 aufgerufen.

Was passiert?
Klicke auf „Run“ und sieh selbst nach.

Es erfolgt die Konsolenausgabe: „Zahl ist gerade“.
Du übergibst der Methode beim Aufruf eine ganze Zahl.
Die Methode prüft die Bedingung.
Wenn der Restwert bei einer Division durch 2 Null ist.
Dann springt die Methode in den if-Block und führt diesen aus.

Versuche doch einmal sämtliche gerade Zahlen einzugeben.
Und?
Klappt soweit.

Doch was passiert bei ungeraden Zahlen?
Probier es aus.
Gib eine drei ein, klicke auf „Run“ und schau was passiert.

Nichts.
Klar, du hast bis jetzt noch keine Anweisung dafür geschrieben.

Du musst also unter dem if-Block einen else Block setzen.
Und so sieht dieser aus.

public class GeradeZahlen {

	static void unterscheideZahlen(int zahlWert) {
		if (zahlWert % 2 == 0) {
			System.out.println("Zahl ist gerade");
		}
		else {
			System.out.println("Zahl ist ungerade");
		}
			
	}
	
	public static void main(String[] args) {
		unterscheideZahlen(3);
	}
}

Du kannst jetzt jede beliebige ganze Zahl der Methode mitgeben.
Die Methode prüft, ob diese durch zwei teilbar ist und gibt dir die entsprechende Meldung.


Ähnliche Beiträge