Dans cet article, nous découvrirons différentes manières d'écrire du code dans le langage de programmation Java à des fins de calculs factoriels. Étant l’un des langages orientés objet faciles à utiliser, Java est indépendant de la plate-forme et constitue un langage de programmation simple. Le compilateur et l'interpréteur Java ont été développés avec la sécurité comme aspect majeur. Java a diverses gammes d'applications.
PUBLICITÉ Cours populaire dans cette catégorie MAÎTRISÉE JAVA - Spécialisation | 78 séries de cours | 15 tests simulésCommencez votre cours de développement de logiciels libres
Développement Web, langages de programmation, tests de logiciels et autres
Factorial, symbolisé par « ! » (point d'exclamation), est une opération mathématique consistant à multiplier un nombre par tous les nombres plus petits. Par exemple, si le nombre est 5, le résultat de la factorielle sera 5 ! = 5*4*3*2*1 = 120.
1. Complétez votre code et enregistrez-le sous (nom de fichier).java
2. Ouvrez le terminal et exécutez la commande Java suivante.
3. La commande ci-dessus générera un fichier de classe.
4. Maintenant, exécutez le fichier de classe.
Vous trouverez ci-dessous les différents exemples utilisant diverses méthodes :
À l'avenir, nous allons maintenant écrire un simple programme Java pour le calcul factoriel.
public class Factorial { public static void main(String args[]) {int i, fact=1; int number=5; for(i=1;i<=number;i++) { fact=fact*i; } System.out.println("Factorial of "+number+" is: "+fact); } }
Enregistrez le code ci-dessus avec n'importe quel nom de fichier et extension .java.
Explication du code :
Cela a commencé avec deux variables, « i » et « fact », avec une valeur de 1, puis « nombre » avec 5, qui est notre nombre pour calculer la factorielle. Je suis entré dans For Loop, j'ai continué à augmenter la valeur de i jusqu'à ce que nous lui attribuions un nombre, c'est-à-dire 5. Lors de l'incrémentation, chaque fois que la valeur du fait augmente, elle est multipliée et le fait se voit attribuer une nouvelle valeur.
Sortie :
Une autre méthode couramment utilisée consiste à demander à l'utilisateur un nombre saisi pour le calcul au lieu de le prédéfinir.
Référez-vous au code ci-dessous pour le calcul basé sur les entrées de l'utilisateur :
import java.util.Scanner; class Facto{ public static void main(String args[]) { int q, a, fact = 1; System.out.println("Please Enter a number:"); Scanner in = new Scanner(System.in); q = in.nextInt(); if ( q < 0 ) System.out.println("Please enter a number greater than 0:"); else { for ( a = 1 ; a <= q ; a++ ) fact = fact*a; System.out.println("Factorial of "+q+" is = "+fact); } } }
Enregistrez le code ci-dessus comme nous l'avons fait pour l'exemple précédent.
Explication du code :
Une différence majeure entre l'exemple précédent et l'exemple ci-dessus réside dans la saisie de l'utilisateur ; Le repos est pareil. Le code demandera qu'un nombre soit calculé, puis si le nombre saisi par l'utilisateur est négatif et est entre "-", moins, il demandera "Veuillez entrer un nombre supérieur à 0 :", ce qui est évident car Factorial ne peut pas être calculé. calculé pour un nombre négatif. Maintenant, il acceptera un nombre positif et procédera au calcul factoriel, puis imprimera le résultat comme indiqué dans l'image ci-dessous.
Sortie :
La récursion est l'un des outils les plus utiles dans le monde de la programmation. La récursivité signifie essentiellement la réutilisation de la fonction. Pour ainsi dire, nous n’aurons pas besoin de définir un nombre supplémentaire de variables ici, ce qui signifie que nous n’aurons que deux variables ou moins.
Une raison majeure d'implémenter Recursion est la possibilité de réduire la longueur du code et de réduire élégamment la complexité temporelle d'un programme. La méthode récursive, avec ses avantages, présente quelques inconvénients qui pourraient avoir un impact majeur à long terme.
Inconvénients de la récursivité :
Référez-vous au code ci-dessous :
public class FactorialExample2 { static int factorial(int n){ if (n == 1) return 1; else return(n * factorial(n-1)); } public static void main(String[] args) { System.out.println("Factorial of 5 is: "+factorial(5)); } }
Enregistrez et compilez le programme comme nous l'avons fait précédemment.
Explication du code :
The above code starts with a single int variable and checks if it is equal to 1; if yes, it returns one, as factorial for 1 is 1. If not equal to 1, it proceeds with the recursion function. Our int value, for example, is 5, so it’ll be like “5 * factorial(5-1)”, factorial is called here for the second time, which is another call. Then it returns again with a newer int value, which is 4, “4 * factorial(4-1)”, now it’ll be the third call to the recursion method. Now, the newer int value is 3, which means “3 * factorial(3-1)”, now it’ll be the fourth call, and the value will be 2, which means “2 * factorial(2-1)”. The int value will be one in the next recursive call, which will terminate the function here. While every call was made, its value was saved in a Stack, which is a LIFO method. So, for the final Output, the result will be “5*4*3*2*1 = 120.”
Compared to other methods, Recursion is quite difficult to understand and to implement, but if understood well and implemented wisely, it is a good tool.
Output:
It is highly recommended to use Recursion only in the case where writing an iterative code can be quite complex.
Now that we have learned various methods for implementing Factorial Calculations in Java Let’s explore a Built-in function that does the same work in a single line.
*) IntMath
Understanding the need for arithmetic operations over a value, a few functions specific to certain value types were written, we will see the Integer type value in work.
IntMath is a class for arithmetic calculations on an int value. IntMath class comes with a range of arithmetic operations, including factorial.
Syntax:
factorial (int n)
We started with an introduction to java and how to run a java program. Then we learned about Factorial Calculation and various methods, including Recursion, to accomplish it.
Towards the end, we learned about IntMath; a Java Function primarily focused on Arithmetic operations. Java is a widely-used programming language; it comes with many features; in this article, we learned about Factorial Calculations in Java, which is a tiny aspect.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!