Java Übung & Lösung: Fakultät berechnen und ausgeben
Schlagwörter: Fakultät, Java Übungen


In dieser Java Übung geht es um die Fakultät aufeinander folgender Zahlen.
Für alle, bei denen der Mathe-Unterricht genauso lange her ist, wie bei mir:
Die Fakultät ist das Produkt aufeinander folgender natürlicher Zahlen.
Zum Beispiel:
Die Fakultät von 2 ist: 1*2=2
Die Fakultät von 5 ist: 1*2*3*4*5=120
So – ich hoffe, dass ich mich nicht verrechnet habe.
- Also erstelle eine Klasse Fakultät.
- In dieser Klasse implementierst du eine Methode, welche eine Zahl als Argument übergeben bekommt.
- Und dann liefert die Methode die Fakultät, per Bildschirmausgabe zurück.
Aufgerufen wird die Methode in der Main-Methode.
Alles klar?
Na dann viel Spaß bei dieser Java Übung.
Ich schlage vor, du löst diese Java Übung mit einer for Schleife.
Ich stelle mir die Schleifenbedingung so vor:
- Startwert für i ist 1.
Denn du rechnest nur mit natürlichen Zahlen.
Außerdem, wenn bei einer Multiplikation eine Null im Spiel ist, wird das Ergebnis null.
Also bei i=1 starten.
- Die Schleife bricht ab, wenn i größer ist, als die übergebene Zahl aus der Parameterliste.
Somit ist die Abbruchbedingung: i<=zahl;
- Und i wird ganz normal inkrementiert / hochgezählt.
Somit würde der Schleifenkopf so aussehen: for (int i = 1; i<=zahl;++i)
Und nun zum Rumpf.
Im Schleifenrumpf benötigst du eine Variable, welche das Ergebnis speichert.
Also beispielsweise so: fakultaet=fakultaet*i;
Da die Variable, nachdem die Schleife durchlaufen wurde, als Bildschirmausgabe zurückgeben werden soll - Musst du die Variable außerhalb der Schleife anlegen.
Da die Variable innerhalb der Methode lediglich eine lokale Variable ist, musst du ihr einen Wert zuweisen.
Alles klar?
Dann lass uns das Ding bauen.
Und so würde der Java Code dazu aussehen:
public class Fakultaet {
static void berechneFakultaet(int zahl) {
int fakultaet = 1; //außerhalb der Schleife anlegen und Wert zuweisen
for (int i = 1; i <= zahl; ++i) {
fakultaet = fakultaet * i;
}
System.out.println("Die Fakultät von " + zahl + " ist: " + fakultaet);
}
public static void main(String[] args) {
berechneFakultaet(2);
berechneFakultaet(5);
berechneFakultaet(31);
}
}
Klicke auf "Run" und schau, was passiert.
Cool, mit den Zahlen 2 und 5 lag ich nicht falsch.
Bei 31 ist Schluss.
Versuch ruhig einmal der Methode einen Wert über 31 zu übergeben.
Und was passiert?
Irgendein Mist, oder?
Das Problem ist, dass die Zahl zu groß wird.
Sie liegt dann außerhalb des Datenbereiches für Integer.
Und da unsere lokale Variable "fakultaet" eine Integer-Variable ist - ist dann auch schon Schluss.
Für größere Zahlen kannst du die Fakultät auch in einer long Variable speichern.
Ich habe deshalb eine zweite Methode, namens "berechneFakultaetLong" geschrieben.
public class Fakultaet {
static void berechneFakultaet(int zahl) {
int fakultaet = 1; // Variable als Integer Datentyp
for (int i = 1; i <= zahl; ++i) {
fakultaet = fakultaet * i;
}
System.out.println("Die Fakultät von " + zahl + " ist: " + fakultaet);
}
static void berechneFakultaetLong(int zahl) {
long fakultaet = 1; //Variable als long Datentyp
for (int i = 1; i <= zahl; ++i) {
fakultaet = fakultaet * i;
}
System.out.println("Die Fakultät von " + zahl + " ist: " + fakultaet);
}
public static void main(String[] args) {
berechneFakultaet(2);
berechneFakultaet(5);
berechneFakultaet(31);
berechneFakultaetLong(39);
}
}
Jetzt komm ich immerhin bis zur Fakultät von 39.
Dann ist auch hier schon Schluss.
Du siehst, irgendwann stößt auch Java auf Grenzen.
Aber mal ehrlich.
Zahlen, welche größer als 2.304.077.777.655.037.952 brauchen wir eigentlich nicht.
Ähnliche Beiträge
Schlagwörter: Java Methoden, Java Übungen
In dieser Java Übung möchte ich den Inhalt der letzten Lektionen wiederholen. Ich möchte den Unterschied zwischen Klassen- und Instanzmethoden und zwischen Variablen demonstrieren.
Schlagwörter: Java Datentyp, Java Schleifen, Java Übungen
In dieser Java Übung werden wir uns die Zeichen des Character Datentypen näher anschauen. Die einzelnen Zeichen sollen auf der Konsole ausgegeben werden. Und wie? Das ganze sollst du mit einer For Schleife machen. Erstelle deshalb eine Klasse „CharZeichen“. In dieser Klasse implementierst du dann eine Klassenmethode, namens „gibZeichen“. Und […]
Schlagwörter: Java Übungen
In dieser Java Übung möchte ich, dass du eine Methode schreibst, welche zwei Zahlen entgegennimmt. Und zwar soll die erste Zahl das Jahr sein. Die zweite Zahl soll eine Monatsangabe (1-12) repräsentieren. Was soll die Methode dann machen? Die Methode soll dir die Anzahl der Tage des jeweiligen Monats zurückgeben. […]
Schlagwörter: Java Schleifen, Java Übungen
In dieser Java Übung geht es darum, dass du mittels Schleifen, Zahlen umkehrst. Was meine ich damit? Die Zahl 71 umgekehrt, ergibt die Zahl 17. Und genau so ein kleines Java Programm sollst du jetzt schreiben.
Schlagwörter: Java Übungen
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. […]
Schlagwörter: Java Schleifen, Java Übungen
In dieser Java Übung geht es um Schleifen. Und zwar möchte ich, dass du eine virtuelle Geldruckmaschine erstellst. Was meine ich damit? Du gibst in der Konsole einen x-beliebigen Betrag ein und das Programm gibt dir virtuelle Geldscheine zurück. Ein Beispiel: Du gibst die Zahl 400 ein. Dann liefert dir […]
Schlagwörter: Java Arrays, Java Übungen
Diese umfangreiche Java Übung ist eine weitere Übung zu Java Arrays. Ich habe dafür schon ein kleines Beispiel vorbereitet. Gegeben ist ein Array, welches Integer Werte speichert.
Schlagwörter: Java Programmierung, Java Übungen
Alles beginnt mit „Hello World“. Sämtliche Java Bücher beginnen mit diesem ersten Beispiel. Auch die Java Übungen sollen mit diesem ersten Programm starten. Definiere eine Klasse „Hello World“. Implementiere die Main Methode. Die Main Methode soll bei Programmaufruf die Bildschirmanzeige „Hallo Welt“ zurückgeben. Die Lösung zur Java Übung „Hallo Welt“ […]
Schlagwörter: Java Operatoren, Java Übungen
In dieser Java Übung geht es darum, die letzte Ziffer einer Zahl zu finden. Was meine ich damit? Die letzte Stelle der Zahl 278 ist acht. Die letzte Stelle der Zahl 5432 ist zwei.
Schlagwörter: Java Übungen
In dieser Java Übung sollst du mit Hilfe des switch case Statements die Eintrittspreise für ein Rockkonzert bestimmen lassen.
Schlagwörter: Java Übungen
In dieser Java Übung geht es darum ein kleines Java-Spiel zu erstellen. Und zwar Zahlen raten. Was kannst du dir darunter vorstellen? Du gibst einen bestimmten Wertebereich an. Zum Beispiel 0 bis 100. Und das Java Programm erstellt eine Zufallszahl in diesem Bereich. Dann fordert dich das Programm auf, die […]
Schlagwörter: Java Instanzen, Java Übungen
In dieser Java Übung geht es um Mahnungen. Ja, Mahnungen zu Rechnungen.
Schlagwörter: Java Methoden, Java Übungen
In dieser Java Übung möchte ich mit dir zusammen den Flächeninhalt eines Rechteckes berechnen. Zur Erinnerung der Flächeninhalt wird berechnet, indem du die Länge mit der Breite multiplizierst.
Schlagwörter: Java Strings, Java Übungen
In dieser Java Übung möchte ich, dass du ein Programm erstellst, welches ein eingegebenes Passwort kontrolliert.
Schlagwörter: Java Methoden, Java Übungen
In dieser Java Übung geht es um die Wertübergabe in Java Methoden. Schau dir bitte diesen Java Code einmal an und überlege dir, welche Bildschirmausgabe erzeugt wird. Welchen Wert hat die Klassenvariable x?
Schlagwörter: Java Schleifen, Java Übungen
In dieser Java Übung möchte ich, dass du eine Methode zum Zählen von Kommastellen schreibst. Lege dazu eine Klasse „KommaZahl“ an. Diese Klasse enthält die statische Methode „zaehleKommaStellen“, welche eine Kommazahl als übergebenen Parameter erwartet.
Schlagwörter: Java Instanzen, Java Methoden, Java Übungen
In dieser Java Übung möchte ich dir zeigen, dass du auch in Klassenmethoden auf Objekte und deren Instanzvariablen zugreifen kannst. Schau dir dazu einmal diesen Java Code an. public class Umwandlung { private int x; public int getX() { // getter Methode return x; } public void setX(int x) { […]
Schlagwörter: Java Übungen, Java Variablen
In dieser Java Übung soll der Unterschied zwischen Instanz- und Klassenvariablen demonstriert werden. Außerdem werde ich dir den Zugriff über Methoden zeigen.
Schlagwörter: Java Übungen
In dieser Java Übung geht es noch einmal um das switch case statement.
Schlagwörter: Java Übungen
In dieser Java Übung möchte ich, dass du den größten gemeinsamen Teiler zwei Zahlen ermittelst. Ich möchte, dass du das Ganze mit einer while-Schleife umsetzt. Und wie? Du legst eine neue Klasse „GGT“ (größter gemeinsamer Teiler) an. In diese Klasse implementierst du eine Klassenmethode „berechneGGT“. Diese erwartet zwei Argumente vom […]
Schlagwörter: Java Methoden, Java Übungen
Ein wesentlicher Bestandteil im Konzept der objektorientierten Programmierung ist die Datenkapselung. Und um Datenkapselung soll es in dieser Java Übung gehen.
Schlagwörter: Java Arrays, Java Übungen
Die ist die zweite Java Übung zu Java Arrays.
Schlagwörter: Java Übungen
In dieser Java Übung geht es vor allem um Bildschirmeingaben. Du wirst lernen, wie du Konsoleneingaben einliest und diese in Methoden einfließen lassen kannst.
Schlagwörter: Java Instanzen, Java Klasse, Java Übungen
In dieser Java Übung, wirst du ein Objekt erstellen.
Schlagwörter: Java Arrays, Java Übungen
In dieser Java Übung soll ein Würfelspiel simuliert werden. Lege eine Klasse namens, Würfelspiel an. Diese Klasse enthält eine statische Methode, namens würfeln(). Diese Methode erwartet einen Parameter vom Datentyp Integer, namens „anzahlWuerfe“. Diese Variable/Parameter repräsentiert die Anzahl der Würfe. Nachdem der Methode die Anzahl der Würfe übergeben wurde, soll […]
Schlagwörter: Java Instanzen, Java Übungen
In dieser Java Übung geht es um Objekte und es geht um Referenzvariablen. Es geht um den Zugriff auf Java Objekte durch mehr als eine Referenzvariable. Erstelle dazu eine Java Klasse, namens „ReferenzTest“. Dieser Klasse führt drei Instanzvariablen a, b und c, vom Datentyp Integer.
Schlagwörter: Java Arrays, Java Übungen
In dieser Java Übung lernst du, wie du in Java Arrays anlegst.
Schlagwörter: Java Übungen
In dieser Java Übung möchte ich mit dir Zahlen runden. Ich bitte dich deshalb: Erstelle eine Klasse „RundenUebung“. Lege dann eine statische Methode rundeZahl() an. Diese erwartet zwei Parameter. Parameter 1 ist die Kommazahl, welche gerundet werden soll. Als zweiten Parameter wird eine ganze Zahl übergeben, welche die Nachkommastelle – […]
Schlagwörter: Java Übungen
In dieser Java Übung möchte ich mit dir ein Programm erstellen, welches ein Mathematik-Test oder eine Mathe-Olympiade simuliert. Du kennst das vielleicht noch aus der Schule. Matheolympiade- Da wurden aus allen vier Grundrechenarten, Aufgaben formuliert. Die Schüler mussten diese Aufgaben lösen. Die Lehrer kontrollierten die Lösungen. Und der Schüler, welcher […]