Wprowadzenie do Factorial w Javie

W tym artykule poznamy różne sposoby pisania kodu w języku programowania Java na potrzeby obliczeń czynnikowych.

Będąc jednym z łatwych w użyciu, obiektowych języków Java, jest niezależny od platformy i prosty język programowania. Kompilator i interpreter Java zostały opracowane z bezpieczeństwem jako głównym aspektem. Java ma różne zastosowania.

Czynnikowy, symbolizowany jako „!” (Wykrzyknik), jest operacją matematyczną polegającą na pomnożeniu liczby przez wszystkie liczby, które są od niej mniejsze. Na przykład, jeśli liczba wynosi 5, wynik dla silni będzie wynosił 5! = 5 * 4 * 3 * 2 * 1 = 120.

Jak wykonać program Java?

1. Uzupełnij kod i zapisz go jako (nazwa pliku) .java

2. Otwórz terminal i uruchom następujące polecenie java.

  • za. javac (nazwa pliku) .java

3. Powyższe polecenie wygeneruje plik klasy.

4. Teraz uruchom plik klasy.

  • za. java (nazwa pliku)

Obliczanie czynnikowe za pomocą różnych metod

Przykład 1 - Program czynnikowy w Javie przy użyciu metody podstawowej

Idąc dalej, napiszemy teraz prosty program Java do obliczeń czynnikowych.

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

Zapisz powyższy kod z dowolną nazwą pliku i rozszerzeniem .java.

Kod Objaśnienie:

Zaczęliśmy od dwóch zmiennych „i” i „fakt”, o wartości 1, a następnie „liczba” z 5, która jest naszą liczbą do obliczenia silni. Poszedłem do For Loop, ciągle zwiększając wartość i, dopóki nie dopasowaliśmy jej do liczby, tj. 5. Podczas zwiększania, za każdym razem, gdy wartość faktu wzrasta, jest on mnożony, a faktowi przypisywana jest nowa wartość.

Wyjście :

Przykład 2 - Program czynnikowy w Javie z wykorzystaniem danych wejściowych użytkownika

Inną powszechnie stosowaną metodą jest prośba o podanie numeru wejściowego użytkownika do obliczeń zamiast wstępnego zdefiniowania.

Poniższy kod zawiera obliczenia użytkownika:

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

Zapisz powyższy kod, tak jak w poprzednim przykładzie.

Kod Objaśnienie:

Główną różnicą między wcześniejszym i powyższym przykładem jest dane wprowadzone przez użytkownika, reszta jest taka sama. Kod poprosi o obliczenie liczby, a następnie jeśli liczba wprowadzona przez użytkownika ma wartość ujemną, czyli „-”, minus, wyświetli się monit „Wprowadź liczbę większą niż 0:”, co jest oczywiste, ponieważ czynnik nie może być obliczone dla liczby ujemnej. Teraz przyjmie liczbę dodatnią i przejdzie do Obliczania czynnikowego, a następnie wydrukuje wynik, jak pokazano na poniższym obrazie.

Wyjście :

Przykład 3 - Program czynnikowy w Javie z wykorzystaniem metody rekurencji

Rekurencja jest jednym z najbardziej przydatnych narzędzi w świecie programowania. Rekurencja zasadniczo oznacza ponowne użycie funkcji. Tak więc, powiedzmy, nie będziemy musieli definiować tutaj dodatkowej liczby zmiennych, co oznacza, że ​​będziemy mieli tylko dwie zmienne lub mniej.

Głównym powodem do wdrożenia Rekurencji jest możliwość zmniejszenia długości kodu i eleganckiego zmniejszenia złożoności czasowej programu. Metoda rekurencyjna, z jej zaletami, ma kilka wad, które mogą mieć duży wpływ na dłuższą metę.

Niedogodności

Wady z rekurencją:

  • Zasadniczo debugowanie kodu rekurencyjnego i śledzenie go na dowolnym etapie z błędem jest dość trudne.
  • Poza tym rekurencja zużywa więcej pamięci, ponieważ używa Stosu do wykonania zadania, w którym sumuje stos za pomocą nowszego wywołania rekurencyjnego.
  • A jeśli nie zostanie mądrze zaimplementowane, Rekurencja może spowolnić funkcję.
  • StackOverflowException: Metody rekurencyjne często zgłaszają ten wyjątek z powodu nadużycia stosu.

Zobacz poniższy kod:

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

Zapisz i skompiluj program tak jak wcześniej.

Kod Objaśnienie:

Powyższy kod zaczyna się od pojedynczej zmiennej int, sprawdza, czy jest ona równa 1, jeśli tak, to zwraca jedną, ponieważ silnia dla 1 wynosi 1. Jeśli nie jest równa 1, przechodzi do funkcji rekurencji. Na przykład nasza wartość int wynosi 5, więc będzie to jak „5 * silnia (5-1)”, silnia jest wywoływana tutaj po raz drugi, co jest kolejnym wywołaniem. Następnie powraca ponownie z nowszą wartością int, która wynosi 4, „4 * silnia (4-1)”, teraz będzie to trzecie wywołanie metody rekurencji. Teraz nowsza wartość int to 3, co oznacza „3 * silnia (3-1)”, teraz będzie czwarte wywołanie, a wartość to 2, co oznacza „2 * silnia (2-1)”. W następnym wywołaniu rekurencyjnym wartość int będzie wynosić jeden, co zakończy funkcję tutaj. Podczas każdego wywołania jego wartość była zapisywana w stosie, który jest metodą LIFO. Tak więc dla ostatecznego wyniku wynik będzie następujący: „5 * 4 * 3 * 2 * 1 = 120”

W porównaniu z innymi metodami rekursja jest dość trudna do zrozumienia i wdrożenia, ale jeśli jest dobrze zrozumiana i mądrze wdrożona, jest dobrym narzędziem.

Wyjście :

Zdecydowanie zaleca się stosowanie Rekurencji, tylko w przypadku, gdy napisanie iteracyjnego kodu może być dość skomplikowane.

Teraz, kiedy poznaliśmy różne metody implementacji obliczeń czynnikowych w Javie, zbadajmy wbudowaną funkcję, która wykonuje tę samą pracę, w jednym wierszu.

Przykład 4 - Program czynnikowy w Javie z wykorzystaniem wbudowanej funkcji

*) IntMath

Rozumiejąc potrzebę operacji arytmetycznych na wartości, napisano kilka funkcji specyficznych dla niektórych typów wartości, zobaczymy wartość typu Integer w pracy.

IntMath to klasa do obliczeń arytmetycznych na wartości int. Klasa IntMath zawiera szereg operacji arytmetycznych, w tym silni.

Składnia :

factorial (int n)

Wniosek - czynnikowy w Javie

Zaczęliśmy od wprowadzenia do języka Java i sposobu uruchamiania programu Java. Następnie dowiedzieliśmy się o obliczeniach czynnikowych i różnych metodach, w tym rekurencji, aby to osiągnąć.

Pod koniec dowiedzieliśmy się o IntMath, funkcji Java, skupionej przede wszystkim na operacjach arytmetycznych. Java jest powszechnie używanym językiem programowania, ma wiele funkcji, w tym artykule dowiedzieliśmy się o obliczeniach czynnikowych w Javie, co jest niewielkim aspektem.

Polecane artykuły

To jest przewodnik po Factorial w Javie. Tutaj omawiamy sposób wykonywania programu Java wraz z jego metodami. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej-

  1. Ramy testowe dla Java
  2. Cykl życia wątku w Javie
  3. Zmienne w Javie
  4. Adnotacje Java
  5. Tablice w programowaniu Java
  6. Silnia w C #