Úvod do Factorial v Javě

V tomto článku se dozvíme o různých způsobech psaní kódu v programovacím jazyce Java pro účely faktických výpočtů.

Jelikož je Java jedním z snadno použitelných, objektově orientovaného jazyka, je nezávislá na platformě a je jednoduchým programovacím jazykem. Kompilátor a interpret jazyka Java byly vyvinuty se zabezpečením jako hlavním aspektem. Java má různé možnosti použití.

Factorial, symbolizovaný jak “!” (Vykřičník), je matematická operace násobení čísla se všemi čísly, která jsou menší než to. Například, pokud je číslo 5, výstup pro faktoriál bude 5! = 5 * 4 * 3 * 2 * 1 = 120.

Jak spustit program Java?

1. Vyplňte svůj kód a uložte jej jako (název souboru) .java

2. Otevřete Terminál a spusťte následující příkaz java.

  • A. javac (název souboru) .java

3. Výše ​​uvedený příkaz vygeneruje soubor třídy.

4. Nyní spusťte soubor třídy.

  • A. java (název souboru)

Výpočet faktoru pomocí různých metod

Příklad 1 - Faktorový program v Javě pomocí základní metody

Pohybujeme se vpřed a nyní napíšeme jednoduchý program Java pro výpočet faktorů.

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

Uložte výše uvedený kód s libovolným názvem souboru a příponou .java.

Vysvětlení kódu:

Začalo se dvěma proměnnými „i“ a „faktem“, hodnotou 1, poté „číslem“ s 5, což je naše číslo pro výpočet faktoriálu. Vstoupil do For Loop, neustále zvyšoval hodnotu i, dokud jsme ji nespojili s číslem, tj. 5. Při zvyšování se vždy, když se hodnota faktů zvyšuje, je násobena a skutečnost je přiřazena nová hodnota.

Výstup :

Příklad 2 - Faktorový program v Javě pomocí vstupu uživatele

Další běžně používanou metodou je místo, kde požadujeme zadání vstupního čísla uživatele, výpočet místo jeho předdefinování.

Viz níže uvedený kód pro výpočet na základě uživatelských vstupů:

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

Uložte výše uvedený kód stejně jako v předchozím příkladu.

Vysvětlení kódu:

Hlavní rozdíl mezi předchozím a výše uvedeným příkladem je vstup uživatele, zbytek je stejný. Kód bude vyžadovat výpočet čísla, pak pokud je číslo zadané uživatelem záporné, které je v „-“, mínus, zobrazí se výzva „Zadejte číslo větší než 0:“, což je zřejmé, protože Factorial nelze vypočteno pro záporné číslo. Nyní přijme kladné číslo a pokračuje s výpočtem faktoru a poté vytiskne výstup, jak je znázorněno na obrázku níže.

Výstup :

Příklad 3 - Faktorový program v Javě pomocí metody rekurze

Rekurze je jedním z nejužitečnějších nástrojů ve světě programování. Rekurze v podstatě znamená opakované použití funkce. Tedy zde nebudeme muset definovat další počet proměnných, což znamená, že budeme mít pouze dvě nebo méně proměnných.

Hlavním důvodem implementace Rekurze je schopnost zkrátit délku kódu a elegantně snížit časovou náročnost programu. Metoda rekurze má se svými výhodami několik nevýhod, které by mohly mít dlouhodobý dopad.

Nevýhody

Nevýhody s rekurzí:

  • V zásadě je docela obtížné ladit kód rekurze a sledovat jej pro každý krok s chybou.
  • Jiné než to, rekurze využívá více paměti, protože používá Stack k provedení úkolu, kde udržuje přidávání zásobníku pomocí novějšího rekurzivního volání.
  • A pokud není implementována moudře, funkce rekurze může zpomalit.
  • StackOverflowException: Rekurzivní metody tuto výjimku často vyvolávají kvůli nadužívání zásobníku.

Viz následující 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 zkompilujte program jako dříve.

Vysvětlení kódu:

Výše uvedený kód začíná jedinou proměnnou int, kontroluje, zda je roven 1, pokud ano, vrací jednu, faktoriál pro 1 je 1. Pokud není roven 1, pokračuje rekurzní funkcí. Naše int hodnota je například 5, takže to bude jako „5 * faktoriál (5-1)“, faktoriál se zde volá podruhé, což je další hovor. Poté se vrací znovu s novější hodnotou int, což je 4, „4 * faktoriál (4-1)“, nyní to bude třetí volání metody rekurze. Nyní je novější hodnota int 3, což znamená „3 * faktoriál (3-1)“, nyní to bude čtvrté volání a hodnota bude 2, což znamená „2 * faktoriál (2-1)“. V příštím rekurzivním volání bude hodnota int taková, která zde ukončí funkci. Během každého hovoru byla jeho hodnota uložena do zásobníku, což je metoda LIFO. Takže pro finální výstup bude výsledek „5 * 4 * 3 * 2 * 1 = 120“

Ve srovnání s jinými metodami je rekurze docela obtížné pochopit a implementovat, ale pokud je dobře chápána a implementována moudře, je to dobrý nástroj.

Výstup :

Důrazně doporučujeme používat rekurzi, pouze v případech, kdy může být zápis iteračního kódu poměrně složitý.

Nyní, když jsme se naučili různé metody implementace faktorových výpočtů v Javě, pojďme prozkoumat vestavěnou funkci, která funguje stejně, na jednom řádku.

Příklad 4 - Faktorový program v Javě pomocí vestavěné funkce

*) IntMath

Po pochopení potřeby aritmetických operací nad hodnotou bylo napsáno několik funkcí specifických pro určité typy hodnot, uvidíme v práci hodnotu typu Integer.

IntMath je třída pro aritmetické výpočty na int hodnotu. Třída IntMath přichází s řadou aritmetických operací, včetně faktoriálních.

Syntaxe :

factorial (int n)

Závěr - Factorial v Javě

Začali jsme úvodem do javy a jak spustit java program. Pak jsme se dozvěděli o faktografickém výpočtu a různých metodách, včetně rekurze, abychom toho dosáhli.

Ke konci jsme se dozvěděli o IntMath, Java Function, primárně zaměřeném na aritmetické operace. Java je široce používaný programovací jazyk, přichází s mnoha funkcemi, v tomto článku jsme se dozvěděli o Factorial Calculators v Javě, což je nepatrný aspekt.

Doporučené články

Toto je průvodce po Factorial v Javě. Zde diskutujeme o tom, jak spustit program java spolu s jeho metodami. Další informace naleznete také v následujících článcích

  1. Testovací rámce pro Javu
  2. Životní cyklus vlákna v Javě
  3. Proměnné v Javě
  4. Poznámky jazyka Java
  5. Pole v programování Java
  6. Factorial v C #

Kategorie: