Úvod do Factorial v Jave

V tomto článku sa dozvieme o rôznych spôsoboch písania kódu v programovacom jazyku Java na účely faktických výpočtov.

Java, ktorá je jedným z ľahko použiteľného, ​​objektovo orientovaného jazyka, je nezávislá od platformy a je jednoduchým programovacím jazykom. Kompilátor a interpret jazyka Java boli vyvinuté s bezpečnosťou ako hlavným aspektom. Java má rôzne aplikácie.

Factorial, symbolizovaný ako “!” (Výkričník), je matematická operácia násobenia čísla so všetkými číslami, ktoré sú menšie ako jeho. Napríklad, ak je číslo 5, výstup pre faktoriál bude 5! = 5 * 4 * 3 * 2 * 1 = 120.

Ako spustiť program Java?

1. Vyplňte svoj kód a uložte ho ako (názov súboru) .java

2. Otvorte Terminal a spustite nasledujúci príkaz java.

  • a. javac (názov súboru) .java

3. Vyššie uvedený príkaz vygeneruje súbor triedy.

4. Teraz spustite súbor triedy.

  • a. java (názov súboru)

Výpočet faktora rôznymi metódami

Príklad 1 - Faktorový program v Jave pomocou základnej metódy

Pohybujúc sa vpred, teraz napíšeme jednoduchý program Java pre Factorial Calculation.

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

Vyššie uvedený kód uložte do ľubovoľného názvu súboru a prípony .java.

Vysvetlenie kódu:

Začalo sa dvoma premennými „i“ a „skutočnosť“, hodnotou 1, potom „číslom“ s 5, čo je naše číslo na výpočet faktoriálu. Vstúpil som do For Loop, neustále zvyšoval hodnotu i, až kým sme ju nezhodovali s číslom, tj 5. Pri zvyšovaní sa vždy, keď sa hodnota faktov zvyšuje, vynásobí sa a skutočnosti sa priradí nová hodnota.

Výstup :

Príklad 2 - Faktorový program v Jave s použitím užívateľského vstupu

Inou bežne používanou metódou je, keď požadujeme užívateľské vstupné číslo, na výpočet namiesto jeho preddefinovania.

Pre výpočet založený na vstupoch od používateľov použite nasledujúci kód:

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

Vyššie uvedený kód uložte rovnako ako v predchádzajúcom príklade.

Vysvetlenie kódu:

Hlavný rozdiel medzi predchádzajúcim a vyššie uvedeným príkladom je vstup používateľa, zvyšok je rovnaký. Kód bude požadovať vypočítanie čísla, potom ak je číslo zadané používateľom záporné, ktoré je v „-“, mínus, zobrazí sa výzva „Zadajte číslo väčšie ako 0:“, čo je zrejmé, pretože Factorial nie je možné vypočítané pre záporné číslo. Teraz prijme kladné číslo a pokračuje s výpočtom faktora a potom vytlačí výstup, ako je to znázornené na obrázku nižšie.

Výstup :

Príklad 3 - Faktorový program v Jave pomocou metódy rekurzie

Rekurzia je jedným z najužitočnejších nástrojov vo svete programovania. Rekurzia v podstate znamená opätovné použitie funkcie. Nemôžeme tu teda definovať ďalší počet premenných, čo znamená, že budeme mať iba dve alebo menej premenných.

Hlavným dôvodom implementácie rekurzie je sila skrátiť dĺžku kódu a elegantne znížiť časovú náročnosť programu. Metóda rekurzie má so svojimi výhodami niekoľko nevýhod, ktoré by mohli mať z dlhodobého hľadiska zásadný dopad.

nevýhody

Nevýhody pri rekurzii:

  • V zásade je dosť ťažké ladiaci kód rekurzie ladiť a sledovať ho pre každý krok s chybou.
  • Iné ako to, rekurzia využíva viac pamäte, pretože používa Stack na splnenie úlohy, kde neustále pridáva zásobník s novším rekurzívnym volaním.
  • A ak nebude implementovaná múdro, funkcia rekurzia môže spomaliť.
  • StackOverflowException: Rekurzívne metódy túto výnimku často vyvolávajú kvôli nadmernému použitiu stacku.

Pozrite si nasledujúci kód:

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

Uložte a skompilujte program ako predtým.

Vysvetlenie kódu:

Vyššie uvedený kód začína jednou premennou int, kontroluje, či sa rovná 1, ak áno, vráti jednu, faktoriál pre 1 je 1. Ak nie je rovný 1, pokračuje s rekurznou funkciou. Naša int hodnota je napríklad 5, takže to bude ako „5 * faktoriál (5-1)“, faktoriál sa tu volá druhýkrát, čo je ďalší hovor. Potom sa znova vráti s novšou hodnotou int, ktorá je 4, „4 * faktoriálna (4-1)“, teraz to bude tretie volanie na metódu rekurzie. Teraz je novšia hodnota int 3, čo znamená „3 * faktoriál (3-1)“, teraz to bude štvrté volanie a hodnota bude 2, čo znamená „2 * faktoriál (2-1)“. V nasledujúcom rekurzívnom volaní bude hodnota int taká, ktorá tu ukončí funkciu. Počas každého hovoru bola jeho hodnota uložená v zásobníku, čo je metóda LIFO. Takže pre konečný výstup bude výsledkom „5 * 4 * 3 * 2 * 1 = 120“

V porovnaní s inými metódami je rekurzia pomerne ťažko pochopiteľná a implementovateľná, ale ak je dobre pochopená a implementovaná rozumne, je to dobrý nástroj.

Výstup :

Dôrazne sa odporúča používať rekurziu iba v prípadoch, keď je písanie iteračného kódu dosť zložité.

Teraz, keď sme sa naučili rôzne metódy na implementáciu faktografických výpočtov v jazyku Java, preskúmajme vstavanú funkciu, ktorá funguje rovnako, v jednom riadku.

Príklad 4 - Faktorový program v Jave využívajúci vstavanú funkciu

*) IntMath

Po pochopení potreby aritmetických operácií nad hodnotou bolo napísaných niekoľko funkcií špecifických pre určité typy hodnôt, v práci uvidíme hodnotu typu Integer.

IntMath je trieda pre aritmetické výpočty na int hodnote. Trieda IntMath prichádza s celým radom aritmetických operácií vrátane faktoriálnych.

Syntax :

factorial (int n)

Záver - Factorial v Jave

Začali sme úvodom do javy a ako spustiť java program. Potom sme sa dozvedeli o faktografickom výpočte a rôznych metódach vrátane rekurzie, aby sme to dosiahli.

Na konci sme sa dozvedeli o IntMath, funkcii Java, zameranej predovšetkým na aritmetické operácie. Java je široko používaný programovací jazyk, ktorý prichádza s mnohými funkciami. V tomto článku sme sa dozvedeli o faktorových výpočtoch v jazyku Java, čo je malý aspekt.

Odporúčané články

Toto je sprievodca po spoločnosti Factorial v Jave. Tu diskutujeme o tom, ako spustiť program java spolu s jeho metódami. Viac informácií nájdete aj v nasledujúcich článkoch

  1. Skúšobné rámce pre Javu
  2. Životný cyklus vlákna v Jave
  3. Premenné v jazyku Java
  4. Poznámky jazyka Java
  5. Polia v programovaní Java
  6. Faktor v C #

Kategórie: