actionbrowser.com
", 1, ()); assertEquals("Wrong! ", 2, ()); assertEquals("Wrong! ", 6, ()); assertEquals("Wrong! ", 24, ()); assertEquals("Wrong! ", 120, ()); assertEquals("Wrong! ", 720, ()); assertEquals("Wrong! ", 5040, ()); assertEquals("Wrong! ", 40320, ()); assertEquals("Wrong! Operator - Gibt es eine Methode, die eine Fakultät in Java berechnet?. ", 362880, ()); assertEquals("Wrong! ", 3628800, ());} von Zer0 (180 Punkte) - 23. 2014 um 02:56 Uhr Java-Code import; /** * Created by Zer0 on 23. 2014. public class FakultätRechner public static void main(String[] args) Scanner Input = new Scanner(); ("Geben Sie eine beliebige ganze Zahl ein, ich berechne für Sie die Fakultät" + " dieser Zahl. "); long result = xtLong(); if (result==0) ("Die Fakultät von 0 ist 1. ");} ("Die Fakultät von "+result+" ist "); for(long i=result-1; i>=1; i--) (result+". ");}}} von Dome (2100 Punkte) - 27. 2014 um 15:08 Uhr public class Fakultät{ long fak = 0; long i = 0; ("Fakultät von n: "); fak = xtLong(); if(fak! = 0){ for(i = 1; i <= fak; i++){ result *= i;}}else{ ("Ungültige Eingabe");} (result);}} von ElPapito (2690 Punkte) - 08.
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. int fakultaet = 1; // Variable als Integer Datentyp static void berechneFakultaetLong( int zahl) { long fakultaet = 1; //Variable als long Datentyp 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. Live Fakultät-Rechner. 655. 037. 952 brauchen wir eigentlich nicht. 🙂
#1 Hallo Allerseits Ich möchte eine Klassenmethode schreiben, mit der ich Fakultäten berechnen kann. In ner seperaten Datei soll die main Methode stehen. Hab mal die Methode geschrieben aber sie funktioniert nicht. Wer kann mir helfen!?
12. 2015 um 23:27 Uhr public class faculty { long z = 1; Scanner sc = new Scanner(); ("Fakultät von n = " + n); do { z = z * n; n = n-1;} while (n>0); (z);}} von Bufkin (1410 Punkte) - 25. 08. 2017 um 15:17 Uhr Java-Code class fakultaet public static void main (String[] args) throws int n = 10; int ergebnis = 1; for(int i = n; i > 0; i--) ergebnis = ergebnis * i;} ("Fakultät von n: " + n + "\n" + ergebnis);}} von Exception (7080 Punkte) - 17. 02. 2019 um 16:12 Uhr Java-Code package de. exception. fakultaet_36; public static int Calc(int n) { if(n == 1) { return n * (n - 1);}} import static *; class TestFakultaet { void test() { assertEquals(1, (1)); assertEquals(2, (2)); assertEquals(6, (3)); assertEquals(24, (4)); assertEquals(120, (5)); assertEquals(3628800, (10));}} von nOrdan (1160 Punkte) - 04. Java fakultät berechnen free. 06. 2019 um 23:57 Uhr Anmerkung: Ich arbeite mit dem Programm BlueJ Java-Code import thoden; * Die Fakultät von Ganzzahlen bis inklusive 34 kann berechnet werden * * @author (nOrdan) * @version (04.
Aufruf mit 1: 5* 4* 3* 2* 1* berechneFakultaet(1-1) 6. Aufruf mit 0: 5* 4* 3* 2* 1* 1 Erst mit dem sechsten Aufruf ist die Rekursion beendet und gibt dann den errechneten Wert zurück. Es soll nicht unerwähnt bleiben, dass das Beispiel der Fakultät keines ist, das man in der Praxis unbedingt rekursiv lösen würde. In diesem Fall ist die Schleife nicht nur leichter zu lesen, sondern auch speichereffizienter (jeder Aufruf belegt Ressourcen! ) und auch im Laufzeitverhalten wesentlich besser. Java fakultät berechnen gratis. Scheinbar spricht also alles gegen Rekursionen. Allerdings gibt es auch Problemstellungen, die man mit Schleifen nur sehr schwer (aber niemals gar nicht! ) lösen kann. Hier zwei Beispiele dazu: 1. ) Eine Methode listFiles(String folder, String substring) soll in dem Ordnerbaum im und unter dem durch den Parameter "folder" angegebenen Ordner alle Dateien finden, deren Namen die im Parameter "substring" angegebene Zeichenkette enthalten. Das Problem lässt sich aufteilen: i. Liste die entsprechenden Dateien im angegebenen Ordner ii.
#1 also ich möchte in Java, (Aber erstmal nur in einem Pseudocode) die Fakultät von n berechnen lasse, habe da auch schon ne idee PHP: Algorithmus fakultaet(n) input: (n) output: fakultät (n) if n<0 then return ("n muss sein") n! :=n*(n-1)*(n-2) return(n! ) aber so ganz funktioniert das ja net, das müsste man doch eigentlich mit ner schleife machen oder? Wenn jemand vorschläge hat immer her damit #2 Vielleicht umgefähr so: Ergebnis=n; while (n! =0) { n--; Ergebnis=Ergebnis*n;} #3 habe noch nicht viel ahnung von java und programmieren allgemein, aber fehlt da nicht noch irgendwie ne count variable? Oder verstehe ich da grad was nicht? Java: Fakultät einer natürlichen Zahl berechnen - Pixelfriedhof. #4 Nein, eine Variable wird sowieso bei jedem Schleifendurchlauf monoton verändert - nimm einfach die zum Zählen. (Allerdings solltest du den Code so nicht in etwaigen Hausübungen verwenden - da ist nämlich ein kleiner Bug drinnen, der dir beim Ausprobieren im Debugger sicher ins Auge fallen wird, siehs als Inspiration) #5 Hm..., könntest du deinen code noch kommentieren?
Zuletzt bearbeitet: 27. Oktober 2002 #8 Servus! Aus der rekursiven Definition der Fakultät: n! = { 1, falls n = 0; n*(n-1)!, sonst); --> public int fakult (int n){ if (n == 0) return 1; else return n * fakult(n-1);} Gruß Tom #9 sag mal hast du des öfteren mit lisp zu tun?