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 -
- Keretek tesztelése Java-hoz
- Szál életciklusa Java-ban
- Változók Java-ban
- Java kommentárok
- Tömbök a Java programozásban
- Faktorial a C # -ben