Bevezetés a Java tényezőbe

Ebben a cikkben megismerjük a Java programozási nyelvben történő kódírás különböző módjait a tényezőszámítás céljából.

Az egyik a könnyen használható, objektum-orientált nyelv, a Java, a platformfüggetlen és egyszerű programozási nyelv. A Java fordítóját és tolmácsát fejlesztették ki, amelynek egyik fő szempontja a biztonság. A Java különféle alkalmazásokkal rendelkezik.

A „!” (Felkiáltójel) szimbólummal ellátott faktorszám egy szám matematikai művelete, amellyel megszorozzuk az összesnél kisebb számot. Például, ha a szám 5, akkor a tényező kimenete 5 lesz! = 5 * 4 * 3 * 2 * 1 = 120.

Hogyan lehet végrehajtani egy Java programot?

1. Töltse ki a kódját, és mentse el (fájlnév) .java néven

2. Nyissa meg a terminált, és futtassa a következő Java parancsot.

  • a. javac (fájlnév) .java

3. A fenti parancs osztályfájlt hoz létre.

4. Most hajtsa végre az osztályfájlt.

  • a. java (fájlnév)

A faktorszám kiszámítása különféle módszerekkel

1. példa - Faktorialis program Java-ban az alapvető módszerrel

Haladunk tovább, és most megírunk egy egyszerű Java programot a tényezőszámításhoz.

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

Mentse a fenti kódot bármilyen fájlnévvel és .java kiterjesztéssel.

Kód magyarázat:

Két „i” és „tény” változóval kezdődött, 1. értékkel, majd az „szám” 5-gyel, azaz a tényező kiszámításához használt számunk. A For Loop-ba belépett, és addig növeltem i értékét, amíg nem egyezzük meg a számmal, azaz az 5-gyel. Miközben növekszik, minden alkalommal, amikor a tény értéke növekszik, megsokszorozódik, és a tény új értéket kap.

Teljesítmény :

2. példa - Faktorialis program Java-ban a felhasználói bevitel használatával

Egy másik általánosan használt módszer az, amikor felhasználói beviteli számot kérünk a számításhoz, az előzetes meghatározás helyett.

Lásd az alábbi kódot a felhasználói bemeneti alapú számításhoz:

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

Mentse el a fenti kódot, ahogyan a korábbi példában is tettük.

Kód magyarázat:

Nagyobb különbség a korábbi és a fenti példa között a felhasználói bemenet, a többi ugyanaz. A kód kéri egy szám kiszámítását, akkor ha a felhasználó által beírt szám negatív, ami „-” -ben van, mínusz, akkor a következő üzenet jelenik meg: „Kérjük, írjon be egy 0-nál nagyobb számot”, ami nyilvánvaló, mivel a Factorial nem lehet a negatív számra számítva. Most elfogad egy pozitív számot, majd folytatja a Factorial kiszámítását, majd kinyomtatja a kimenetet az alábbi képen látható módon.

Teljesítmény :

3. példa - Faktorialis program Java-ban rekurziós módszerrel

A rekurzió a programozás világában a leghasznosabb eszköz. A rekurzió alapvetõen a funkció újbóli felhasználását jelenti. Tehát azt kell mondanunk, hogy itt nem kell külön számú változót meghatároznunk, ami azt jelenti, hogy csak két vagy kevesebb változó lesz.

A rekurzió megvalósításának fő oka az, hogy csökkentjük a kód hosszát és elegánsan csökkentsük a program időbeli összetettségét. A rekurziós módszernek, annak előnyeivel, néhány hátránya van, amelyek hosszú távon jelentős hatást gyakorolhatnak.

hátrányok

Hátrányok rekurzióval:

  • Alapvetően meglehetősen nehéz a rekurziós kód hibakeresése és hibakeresési lépéseinek nyomon követése.
  • Ezenkívül a rekurzió több memóriát igényel, mivel a Stack felhasználja a feladat elvégzésére, ahol folyamatosan összeadja a verem egy újabb rekurzív hívást.
  • És ha nem okosan hajtják végre, a rekurzió lelassíthatja a funkciót.
  • StackOverflowException: A rekurzív módszerek gyakran dobják ezt a kivételt a verem túlzott használata miatt.

Lásd az alábbi kódot:

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

Mentse el és fordítsa össze a programot, ahogy korábban is tettük.

Kód magyarázat:

A fenti fenti kód egyetlen int változóval kezdődik, ellenőrzi, hogy az egyenlő-e 1-vel, ha igen, akkor visszatér egy-ével, mivel az 1-es tényező 1-hez tartozik. Ha nem egyenlő 1-gyel, akkor folytatódik a rekurziós függvény. Int értékünk például 5, tehát olyan lesz, mint az „5 * faktorialis (5-1)”, a faktorialit második alkalommal hívják, ami egy másik hívás. Ezután ismét visszatér egy újabb int értékkel, amely 4, “4 * factorial (4-1)”, most ez lesz a harmadik hívás a rekurziós módszerre. Most az újabb int érték 3, ami azt jelenti, hogy „3 * faktorial (3-1)”, most ez lesz a negyedik hívás, és az érték 2 lesz, ami azt jelenti, „2 * factorial (2-1)”. A következő rekurzív hívásban az int érték lesz egy, amely itt leállítja a funkciót. Míg minden hívást kezdeményeztünk, annak értékét egy Stack-ben mentettük, ami egy LIFO módszer. Tehát a végső outputnál az eredmény: “5 * 4 * 3 * 2 * 1 = 120”

Más módszerekkel összehasonlítva a rekurziót meglehetősen nehéz megérteni és megvalósítani, de ha jól megértik és okosan végrehajtják, ez jó eszköz.

Teljesítmény :

Erősen ajánlott a rekurzió használata, csak abban az esetben, ha az iteratív kód megírása meglehetősen bonyolult lehet.

Most, hogy megtanultunk különböző módszereket a Faktorialis számítások Java alkalmazásához, vizsgáljuk meg egy beépített függvényt, amely ugyanazt a munkát végzi egyetlen sorban.

4. példa - Faktorialis program Java-ban a beépített funkció használatával

*) IntMath

Ha megértjük egy érték feletti aritmetikai műveletek szükségességét, néhány függvényt írtunk bizonyos értéktípusokra, látni fogjuk az egész szám típusát a munkában.

Az IntMath egy osztály az int érték számtani számításaihoz. Az IntMath osztály számos aritmetikai művelettel érkezik, beleértve a faktorialitást is.

Szintaxis :

factorial (int n)

Következtetés - Faktorialis Java

A Java bevezetésével kezdtük, és a Java program futtatásának módjáról. Ezután megismerkedtünk a tényező számításával és a végrehajtásának különféle módszereivel, beleértve a rekurziót is.

A végén megismerkedtünk az IntMath-szel, egy Java funkcióval, amely elsősorban a számtani műveletekre koncentrált. A Java széles körben használt programozási nyelv, számos funkcióval rendelkezik, ebben a cikkben megismerkedtünk a Java tényezőszámításokkal, ami egy apró szempont.

Ajánlott cikkek

Ez egy útmutató a Factorial Java-hoz. Itt megvitatjuk, hogyan lehet a java programot és annak módszereit végrehajtani. A következő cikkeket is megnézheti további információkért -

  1. Keretek tesztelése Java-hoz
  2. Szál életciklusa Java-ban
  3. Változók Java-ban
  4. Java kommentárok
  5. Tömbök a Java programozásban
  6. Faktorial a C # -ben

Kategória: