Introduktion til Factorial i Java

I denne artikel lærer vi om forskellige måder at skrive kode på Java-programmeringssprog med henblik på faktorberegninger.

At være et af det brugervenlige, objektorienterede sprog, Java, er platformuafhængigt og et simpelt programmeringssprog. Java's Compiler og tolk blev udviklet med sikkerhed som et vigtigt aspekt. Java har forskellige applikationsområder.

Factorial, symboliseret som "!" (Udråbstegn), er en matematisk operation ved at multiplicere et tal med alle de numre, der er mindre end det. For eksempel, hvis antallet er 5, vil output til factorial være 5! = 5 * 4 * 3 * 2 * 1 = 120.

Sådan udføres et Java-program?

1. Udfyld din kode og gem den som (filnavn) .java

2. Åbn terminal og kør følgende java-kommando.

  • en. javac (filnavn) .java

3. Ovenstående kommando genererer en klassefil.

4. Kør nu klassefilen.

  • en. java (filnavn)

Beregning af Factorial ved hjælp af forskellige metoder

Eksempel 1 - Factorial-program i Java ved hjælp af den grundlæggende metode

Fremover vil vi nu skrive et simpelt Java-program til faktorberegning.

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

Gem ovenstående kode med ethvert filnavn og .java-udvidelse.

Kode forklaring:

Begyndte med to variabler “i” og “fakta”, med værdi 1, derefter “antal” med 5, som er vores tal til at beregne faktoriet. Gik ind i For Loop, fortsatte med at øge værdien af ​​i, indtil vi matchede den med antallet, dvs. 5. Mens stigningen øges, hver gang faktumværdien stiger, multipliceres den, og fakta tildeles en ny værdi.

Output :

Eksempel 2 - Factorial-program i Java ved hjælp af brugerinput

En anden almindeligt anvendt metode er, hvor vi beder om et brugerinputnummer til beregning i stedet for at forud definere det.

Se nedenstående kode for brugerinputbaseret beregning:

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

Gem ovenstående kode, som vi gjorde i det tidligere eksempel.

Kode forklaring:

Den største forskel mellem det tidligere og ovenstående eksempel er brugerinput, resten er den samme. Koden beder om et tal, der skal beregnes, så hvis det nummer, som brugeren har indtastet, er negativt, der er i “-”, minus, vil det bede “Indtast et tal større end 0:”, hvilket er indlysende, da Factorial ikke kan være beregnet for negativt antal. Nu accepterer det et positivt tal og fortsætter med Beregning af fakultet og udskrives derefter output som vist på nedenstående billede.

Output :

Eksempel 3 - Factorial-program i Java ved hjælp af rekursionsmetode

Rekursion er et af de mest nyttige værktøjer i programmeringsverdenen. Rekursion betyder dybest set genbrug af funktionen. Så for at sige, vi behøver ikke at definere et ekstra antal variabler her, hvilket betyder, at vi kun har to variabler eller mindre.

Den største grund til at implementere Rekursion er kraften til at reducere kodelængden og elegant reducere et programs tidskompleksitet. Rekursionsmetode med dens fordele har et par ulemper, der kan have en stor indflydelse på lang sigt.

Ulemper

Ulemper ved rekursion:

  • Grundlæggende er det ganske vanskeligt at fejlsøge rekursionskoden og spore den til et trin med en fejl.
  • Bortset fra det bruger rekursion mere hukommelse, da den bruger Stack til at udføre opgaven, hvor den fortsætter med at tilføje stakken med et nyere rekursivt opkald.
  • Og hvis ikke implementeret med omhu, kan rekursion nedsætte funktionen.
  • StackOverflowException: Rekursive metoder kaster ofte denne undtagelse på grund af overdreven brug af stakken.

Se nedenstående kode:

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

Gem og kompiler programmet som vi gjorde tidligere.

Kode forklaring:

Ovenfor kode starter med en enkelt int-variabel, kontrollerer, om den er lig med 1, hvis ja, returnerer den en, da faktor for 1 er 1. Hvis ikke den er 1, fortsætter den med rekursionsfunktion. Vores int-værdi er for eksempel 5, så det vil være som “5 * factorial (5-1)”, factorial kaldes her for anden gang, hvilket er et andet opkald. Derefter vender det tilbage med nyere int-værdi, som er 4, “4 * factorial (4-1)”, nu er det det tredje opkald til rekursionsmetoden. Nu er den nyere int-værdi 3, hvilket betyder “3 * factorial (3-1)”, nu vil det være det fjerde opkald, og værdien vil være 2, hvilket betyder “2 * factorial (2-1)”. I det næste rekursive opkald vil int-værdien være en, der afslutter funktionen her. Mens hvert opkald blev foretaget, blev dens værdi gemt i en stak, som er en LIFO-metode. Så for den endelige output, vil resultatet være, "5 * 4 * 3 * 2 * 1 = 120"

Sammenlignet med andre metoder er rekursion ganske vanskeligt at forstå og implementere, men hvis den forstås godt og implementeres klogt, er det et godt værktøj.

Output :

Det anbefales stærkt at bruge rekursion kun i tilfælde, hvor det kan være ret kompliceret at skrive en iterativ kode.

Nu, hvor vi har lært forskellige metoder til implementering af Factorial Beregninger i Java, lad os undersøge en indbygget funktion, der udfører det samme arbejde på en enkelt linje.

Eksempel 4 - Factorial-program i Java ved hjælp af indbygget funktion

*) IntMath

Forståelse af behovet for aritmetiske operationer over en værdi, der blev skrevet et par funktioner, der er specifikke for bestemte værdityper, vil vi se værdien for heltalstypen i arbejde.

IntMath er en klasse til aritmetiske beregninger på en int-værdi. IntMath-klassen leveres med en række aritmetiske operationer, inklusive factorial.

Syntaks :

factorial (int n)

Konklusion - Factorial i Java

Vi startede med en introduktion til java og hvordan man kører et java-program. Derefter lærte vi om faktorialberegning og forskellige metoder, inklusive rekursion, til at udføre det.

Mod slutningen lærte vi om IntMath, en Java-funktion, primært fokuseret på aritmetiske operationer. Java er et meget brugt programmeringssprog, det kommer med mange funktioner. I denne artikel lærte vi om Factorial Beregninger i Java, som er et lille aspekt.

Anbefalede artikler

Dette er en guide til Factorial i Java. Her diskuterer vi, hvordan man udfører java-program sammen med dets metoder. Du kan også se på de følgende artikler for at lære mere-

  1. Testning af rammer til Java
  2. Tråd Livscyklus i Java
  3. Variabler i Java
  4. Java-kommentarer
  5. Arrays i Java-programmering
  6. Factorial i C #

Kategori: