Introducere în Factorial în Java

În acest articol, vom afla despre diverse modalități de scriere a codului în limbajul de programare Java, în scopul calculelor factoriale.

Fiind unul dintre limbajele ușor de utilizat, limbajul orientat pe obiecte, Java, este independent de platformă și un limbaj de programare simplu. Compilatorul și interpretul Java au fost dezvoltați cu securitatea ca aspect principal. Java are o gamă variată de aplicații.

Factorial, simbolizat ca „!” (Semn de exclamare), este o operație matematică de înmulțire a unui număr cu toate numerele mai mici decât acesta. De exemplu, dacă numărul este 5, puterea factorială va fi de 5! = 5 * 4 * 3 * 2 * 1 = 120.

Cum să executați un program Java?

1. Completați codul și salvați-l ca (nume de fișier) .java

2. Deschideți terminalul și executați următoarea comandă java.

  • A. javac (nume de fișier) .java

3. Comanda de mai sus va genera un fișier de clasă.

4. Executați acum fișierul de clasă.

  • A. java (nume de fișier)

Calculul factorial folosind diferite metode

Exemplul 1 - Programul factorial în Java folosind metoda de bază

Mergând mai departe, vom scrie acum un program Java simplu pentru calculul factorilor.

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);
)
)

Salvați codul de mai sus cu orice nume de fișier și extensie .java.

Explicare Cod:

A început cu două variabile „i” și „fapt”, cu valoarea 1, apoi „număr” cu 5, care este numărul nostru de calculat factorial. A fost introdus în For Loop, a continuat să crească valoarea lui până când am asortat-o ​​cu numărul, adică 5. În timp ce se mărește, de fiecare dată când valoarea faptului crește, aceasta se înmulțește și faptului i se atribuie o nouă valoare.

Rezultat :

Exemplul 2 - Programul factorial în Java utilizând Intrare utilizator

O altă metodă folosită în mod obișnuit este aceea în care solicităm un număr de introducere a utilizatorului, pentru calcul în loc să îl definim în prealabil.

Consultați codul de mai jos pentru calculul bazat pe intrarea utilizatorului:

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);
)
)
)

Salvați codul de mai sus așa cum am făcut-o pentru exemplul anterior.

Explicare Cod:

Diferența majoră dintre exemplul anterior și cel de mai sus este intrarea utilizatorului, Restul este același. Codul va solicita calcularea unui număr, apoi dacă numărul introdus de utilizator este Negativ care este în „-”, minus, va solicita „Vă rugăm să introduceți un număr mai mare de 0:”, ceea ce este evident, deoarece Factorial nu poate fi calculat pentru numărul negativ. Acum, va accepta un număr pozitiv și va continua cu Calcularea factorilor și va imprima apoi ieșirea așa cum se arată în imaginea de mai jos.

Rezultat :

Exemplul 3 - Programul factorial în Java folosind metoda de recurs

Recursiunea este unul dintre cele mai utile instrumente din lumea programării. Recursiunea înseamnă practic reutilizarea funcției. Astfel, nu va trebui să definim un număr suplimentar de variabile aici, ceea ce înseamnă că vom avea doar două variabile sau mai puțin.

Motivul principal pentru implementarea Recursiunii este puterea de a reduce lungimea codului și de a reduce elegant complexitatea în timp a unui program. Metoda de recursiune, cu avantajele sale, prezintă câteva dezavantaje, care ar putea avea un impact major pe termen lung.

Dezavantaje

Dezavantaje cu recursiv:

  • Practic, este destul de dificil să depanați codul de recurs și să-l urmăriți pentru orice pas cu o eroare.
  • În afară de asta, recursivul folosește mai multă memorie, deoarece folosește Stack pentru a îndeplini sarcina, unde continuă să adauge stiva cu un apel recursiv mai nou.
  • Și, dacă nu este pusă în aplicare cu înțelepciune, Recursiunea poate încetini funcția.
  • StackOverflowException: Metodele recursive aruncă adesea această excepție din cauza suprautilizării stivei.

Consultați codul de mai jos:

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));
)
)

Salvați și compilați programul așa cum am făcut anterior.

Explicare Cod:

Codul de mai sus începe cu o singură variabilă int, verifică dacă este egal cu 1, dacă da, atunci returnează una, întrucât factorial pentru 1 este 1. Dacă nu este egal cu 1, se continuă cu funcția de recurs. Valoarea noastră de int, de exemplu, este 5, deci va fi ca „5 * factorial (5-1)”, factorial este apelat aici pentru a doua oară, care este un alt apel. Apoi se va întoarce din nou cu o valoare int mai nouă, care este 4, „4 * factorial (4-1)”, acum va fi al treilea apel la metoda de recurs. Acum, valoarea int mai nouă este 3, ceea ce înseamnă „3 * factorial (3-1)”, acum va fi al patrulea apel, iar valoarea va fi 2, ceea ce înseamnă „2 * factorial (2-1)”. În următorul apel recursiv, valoarea int va fi una, care va încheia funcția aici. În timp ce s-a efectuat fiecare apel, valoarea sa a fost salvată într-un Stack, care este o metodă LIFO. Deci, pentru rezultatul final, rezultatul va fi „5 * 4 * 3 * 2 * 1 = 120”

Față de alte metode, Recursiunea este destul de dificil de înțeles și de pus în aplicare, dar dacă este înțeleasă bine și pusă în aplicare cu înțelepciune, este un instrument bun.

Rezultat :

Este foarte recomandat să folosești Recursiunea, doar în cazul în care scrierea unui cod iterativ poate fi destul de complexă.

Acum, că am învățat diverse metode de implementare a calculelor factoriale în Java, să explorăm o funcție încorporată care face aceeași lucrare, într-o singură linie.

Exemplul 4 - Programul factorial în Java utilizând funcția încorporată

*) IntMath

Înțelegând nevoia de operații aritmetice peste o valoare, au fost scrise câteva funcții specifice anumitor tipuri de valori, vom vedea valoarea tipului întreg în lucrare.

IntMath este o clasă pentru calcule aritmetice pe o valoare int. Clasa IntMath vine cu o serie de operații aritmetice, inclusiv factoriale.

Sintaxa :

factorial (int n)

Concluzie - Factorial în Java

Am început cu o introducere în java și cum să rulăm un program java. Apoi am aflat despre Calculul Factorial și despre diverse metode, inclusiv Recursiunea, pentru realizarea acestuia.

Spre final, am aflat despre IntMath, o funcție Java, axată în principal pe operațiunile de aritmetică. Java este un limbaj de programare utilizat pe scară largă, este livrat cu multe caracteristici, în acest articol am aflat despre Calculele Factoriale în Java, care este un aspect minuscul.

Articole recomandate

Acesta este un ghid pentru Factorial în Java. Aici vom discuta despre cum să executați programul java împreună cu metodele sale. De asemenea, puteți consulta următoarele articole pentru a afla mai multe-

  1. Testarea cadrelor pentru Java
  2. Ciclul de viață filetat în Java
  3. Variabile în Java
  4. Adnotări Java
  5. Schiri în programare Java
  6. Factorial în C #