Introduksjon til Factorial i Java

I denne artikkelen skal vi lære om forskjellige måter å skrive kode på Java-programmeringsspråk med i form av faktorberegninger.

Å være et av det enkle å bruke, objektorienterte språket, Java, er plattformuavhengig og et enkelt programmeringsspråk. Java's Compiler and Interpreter ble utviklet med sikkerhet som et viktig aspekt. Java har forskjellige applikasjoner.

Factorial, symbolisert som "!" (Utropstegn), er en matematisk operasjon av å multiplisere et tall med alle tallene som er mindre enn det. For eksempel, hvis tallet er 5, vil utdata for fakultet være 5! = 5 * 4 * 3 * 2 * 1 = 120.

Hvordan utføre et Java-program?

1. Fullfør koden og lagre den som (filnavn) .java

2. Åpne terminal og kjør følgende java-kommando.

  • en. javac (filnavn) .java

3. Kommandoen ovenfor genererer en klassefil.

4. Utfør nå klassefilen.

  • en. java (filnavn)

Beregning av Factorial ved bruk av forskjellige metoder

Eksempel 1 - Factorial-program i Java ved hjelp av grunnleggende metode

Fremover vil vi nå skrive et enkelt Java-program for 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);
)
)

Lagre koden ovenfor med alle filnavn og .java-utvidelser.

Forklaring av kode:

Begynte med to variabler “i” og “faktum”, med verdi 1, deretter “tall” med 5, som er vårt tall for å beregne fakultetet. Gikk inn i For Loop, fortsatte å øke verdien på i til vi matchet den med antall, dvs. 5. Når du øker, hver gang faktumverdien øker, multipliseres den og fakta tildeles en ny verdi.

Utgang :

Eksempel 2 - Factorial-program i Java ved bruk av brukerinput

En annen ofte brukt metode er der vi ber om et brukerinputnummer, for beregning i stedet for å forhåndsdefinere det.

Se koden nedenfor for brukerinputbasert 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);
)
)
)

Lagre koden ovenfor som vi gjorde for det tidligere eksemplet.

Forklaring av kode:

Stor forskjell mellom tidligere og ovenfor eksempel er brukerinput, resten er det samme. Koden vil be om et tall som skal beregnes, så hvis tallet som er lagt inn av brukeren er negativt som er i “-”, minus, vil det spørre “Vennligst tast inn et tall større enn 0:”, noe som er åpenbart da Factorial ikke kan være beregnet for negativt antall. Nå vil den godta et positivt tall og fortsette med Beregning av fakultet og deretter skrive ut utdata som vist i bildet nedenfor.

Utgang :

Eksempel 3 - Factorial-program i Java ved hjelp av rekursjonsmetode

Rekursjon er et av de mest nyttige verktøyene i programmeringsverdenen. Rekursjon betyr i utgangspunktet gjenbruk av funksjonen. Så for å si, vi trenger ikke å definere et ekstra antall variabler her, noe som betyr at vi bare har to variabler eller mindre.

Hovedgrunnen til å implementere Rekursjon er kraften til å redusere kodelengden og elegant redusere tidskompleksiteten til et program. Rekursjonsmetode, med dens fordeler, har noen få ulemper som kan ha stor innvirkning på lang sikt.

ulemper

Ulemper med rekursjon:

  • I utgangspunktet er det ganske vanskelig å feilsøke rekursjonskoden og spore den for et trinn med en feil.
  • Annet enn det bruker rekursjon mer minne, ettersom den bruker Stack for å utføre oppgaven, der den fortsetter å legge opp stabelen med en nyere rekursiv samtale.
  • Og hvis ikke implementert med omhu, kan Rekursjon redusere funksjonen.
  • StackOverflowException: Rekursive metoder kaster ofte denne unntaket på grunn av overforbruk av stack.

Se koden nedenfor:

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

Lagre og kompilere programmet som vi gjorde tidligere.

Forklaring av kode:

Over kode starter med en enkelt int-variabel, sjekker om den er lik 1, hvis ja, så returnerer den en, da faktor for 1 er 1. Hvis ikke lik 1, fortsetter den med rekursjonsfunksjon. Int-verdien vår er for eksempel 5, så det vil være som “5 * factorial (5-1)”, factorial kalles her for andre gang, som er en annen samtale. Så kommer det tilbake med nyere int-verdi, som er 4, “4 * factorial (4-1)”, nå blir det den tredje samtalen til rekursjonsmetoden. Nå er nyere int-verdi 3, som betyr “3 * factorial (3-1)”, nå blir det den fjerde samtalen, og verdien vil være 2, som betyr “2 * factorial (2-1)”. I neste rekursive samtale vil int-verdien være en, som avslutter funksjonen her. Mens hver samtale ble foretatt, ble verdien av den lagret i en stabel, som er en LIFO-metode. Så for den endelige utdata blir resultatet “5 * 4 * 3 * 2 * 1 = 120”

Sammenlignet med andre metoder er rekursjon ganske vanskelig å forstå og å implementere, men hvis den blir forstått godt og implementert med omhu, er det et godt verktøy.

Utgang :

Det anbefales sterkt å bruke rekursjon, bare i tilfelle der det kan være ganske komplisert å skrive en iterativ kode.

Nå som vi har lært forskjellige metoder for å implementere Factorial Calculations i Java, la oss utforske en innebygd funksjon som gjør det samme arbeidet, på en enkelt linje.

Eksempel 4 - Factorial-program i Java ved hjelp av innebygd funksjon

*) IntMath

For å forstå behovet for aritmetiske operasjoner over en verdi, noen få funksjoner som er spesifikke for bestemte verdityper ble skrevet, vil vi se verdien av heltallstypen i arbeid.

IntMath er en klasse for aritmetiske beregninger på en int-verdi. IntMath-klassen har en rekke aritmetiske operasjoner, inkludert fabrikk.

Syntaks :

factorial (int n)

Konklusjon - Factorial i Java

Vi startet med en introduksjon til java og hvordan du kjører et java-program. Så lærte vi om faktorberegning og forskjellige metoder, inkludert rekursjon, for å oppnå det.

Mot slutten lærte vi om IntMath, en Java-funksjon, primært fokusert på aritmetiske operasjoner. Java er et mye brukt programmeringsspråk, det kommer med mange funksjoner, i denne artikkelen lærte vi om Factorial Calculations i Java, som er et lite aspekt.

Anbefalte artikler

Dette er en guide til Factorial i Java. Her diskuterer vi hvordan du kjører Java-program sammen med metodene. Du kan også se på følgende artikler for å lære mer-

  1. Testing Frameworks for Java
  2. Tråd Livssyklus i Java
  3. Variabler i Java
  4. Java-merknader
  5. Arrays i Java-programmering
  6. Factorial i C #