Introduzione al fattoriale in Java

In questo articolo, impareremo su vari modi di scrivere il codice nel linguaggio di programmazione Java, ai fini dei calcoli fattoriali.

Essere uno dei linguaggi orientati agli oggetti facili da usare, Java, è indipendente dalla piattaforma e un linguaggio di programmazione semplice. Il compilatore e l'interprete di Java sono stati sviluppati con la sicurezza come aspetto principale. Java ha varie gamme di applicazioni.

Il fattoriale, simboleggiato come “!” (Punto esclamativo), è un'operazione matematica di Moltiplicare un numero con tutti i numeri che sono più piccoli di esso. Ad esempio, se il numero è 5, l'output per fattoriale sarà 5! = 5 * 4 * 3 * 2 * 1 = 120.

Come eseguire un programma Java?

1. Completa il codice e salvalo come (nome file) .java

2. Apri Terminale ed esegui il seguente comando java.

  • un. javac (nome file) .java

3. Il comando sopra genererà un file di classe.

4. Ora esegui il file di classe.

  • un. java (nome file)

Calcolo del fattoriale usando vari metodi

Esempio 1 - Programma fattoriale in Java che utilizza il metodo di base

Andando avanti, ora scriveremo un semplice programma Java per il calcolo fattoriale.

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

Salvare il codice sopra con qualsiasi nome file e estensione .java.

Spiegazione del codice:

Iniziato con due variabili “i” e “fact”, con valore 1, quindi “number” con 5, che è il nostro numero per calcolare il fattoriale. Siamo andati in For Loop, continuando ad aumentare il valore di i fino a quando non l'abbiamo abbinato a numero, cioè 5. Durante l'incremento, ogni volta che il valore di fatto aumenta, viene moltiplicato e ai fatti viene assegnato un nuovo valore.

Uscita :

Esempio 2 - Programma fattoriale in Java che utilizza Input utente

Un altro metodo comunemente usato è quello in cui chiediamo un numero di input dell'utente, per il calcolo invece di pre-definirlo.

Fare riferimento al codice seguente per il calcolo basato sull'input dell'utente:

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

Salvare il codice sopra come abbiamo fatto per l'esempio precedente.

Spiegazione del codice:

La differenza principale tra l'esempio precedente e quello sopra è l'input dell'utente, Rest è lo stesso. Il codice chiederà di calcolare un numero, quindi se il numero inserito dall'utente è Negativo che è in "-", meno, verrà richiesto "Inserisci un numero maggiore di 0:", il che è ovvio poiché Factorial non può essere calcolato per il numero negativo. Ora accetterà un numero positivo e procederà con Calcolo fattoriale, quindi stamperà l'output come mostrato nell'immagine seguente.

Uscita :

Esempio 3 - Programma fattoriale in Java che utilizza il metodo di ricorsione

La ricorsione è uno degli strumenti più utili nel mondo della programmazione. La ricorsione in sostanza significa riutilizzare la funzione. Per così dire, non dovremo definire un numero extra di variabili qui, il che significa che avremo solo due variabili o meno.

Il motivo principale per implementare la ricorsione è il potere di ridurre la lunghezza del codice e ridurre elegantemente la complessità temporale di un programma. Il metodo di ricorsione, con i suoi vantaggi, presenta alcuni svantaggi, che potrebbero avere un impatto notevole nel lungo periodo.

svantaggi

Svantaggi con la ricorsione:

  • Fondamentalmente, è abbastanza difficile eseguire il debug del codice di ricorsione e rintracciarlo per qualsiasi passaggio con un errore.
  • Oltre a ciò, la ricorsione utilizza più memoria, poiché utilizza Stack per eseguire l'attività, dove continua ad aggiungere lo stack con una nuova chiamata ricorsiva.
  • E, se non implementato con saggezza, la ricorsione può rallentare la funzione.
  • StackOverflowException: i metodi ricorsivi generano spesso questa eccezione a causa dell'uso eccessivo dello stack.

Fare riferimento al codice seguente:

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

Salvare e compilare il programma come abbiamo fatto in precedenza.

Spiegazione del codice:

Il codice sopra inizia con una singola variabile int, controlla se è uguale a 1, se sì quindi ne restituisce una, poiché fattoriale per 1 è 1. Se non è uguale a 1, procede con la funzione di ricorsione. Il nostro valore int, ad esempio, è 5, quindi sarà come "5 * factorial (5-1)", fattoriale viene chiamato qui per la seconda volta, che è un'altra chiamata. Quindi ritorna di nuovo con il nuovo valore int, che è 4, "4 * fattoriale (4-1)", ora sarà la terza chiamata al metodo di ricorsione. Ora, il valore int più recente è 3, che significa "3 * fattoriale (3-1)", ora sarà la quarta chiamata e il valore sarà 2, che significa "2 * fattoriale (2-1)". Nella prossima chiamata ricorsiva, il valore int sarà uno, che terminerà qui la funzione. Durante ogni chiamata, il suo valore è stato salvato in uno stack, che è un metodo LIFO. Quindi, per l'output finale, il risultato sarà "5 * 4 * 3 * 2 * 1 = 120"

Rispetto ad altri metodi, la ricorsione è piuttosto difficile da capire e da attuare, ma se capito bene e implementato con saggezza, è un buon strumento.

Uscita :

Si consiglia vivamente di utilizzare la ricorsione, solo nel caso in cui la scrittura di un codice iterativo possa essere piuttosto complessa.

Ora che abbiamo appreso vari metodi per l'implementazione di calcoli fattoriali in Java, esploriamo una funzione integrata che fa lo stesso lavoro, in una sola riga.

Esempio 4 - Programma fattoriale in Java che utilizza la funzione integrata

*) IntMath

Comprendendo la necessità di operazioni aritmetiche su un valore, sono state scritte alcune funzioni specifiche di determinati tipi di valore, vedremo il valore del tipo Intero al lavoro.

IntMath è una classe per i calcoli aritmetici su un valore int. La classe IntMath viene fornita con una serie di operazioni aritmetiche, incluso fattoriale.

Sintassi :

factorial (int n)

Conclusione - Fattoriale in Java

Abbiamo iniziato con un'introduzione a Java e come eseguire un programma Java. Quindi abbiamo imparato il calcolo fattoriale e vari metodi, tra cui la ricorsione, per realizzarlo.

Verso la fine, abbiamo appreso IntMath, una funzione Java, focalizzata principalmente sulle operazioni aritmetiche. Java è un linguaggio di programmazione ampiamente utilizzato, viene fornito con molte funzionalità, in questo articolo abbiamo appreso sui calcoli fattoriali in Java, che è un aspetto minuscolo.

Articoli consigliati

Questa è una guida a Factorial in Java. Qui discutiamo come eseguire il programma Java insieme ai suoi metodi. Puoi anche consultare i seguenti articoli per saperne di più-

  1. Test dei framework per Java
  2. Thread Ciclo di vita in Java
  3. Variabili in Java
  4. Annotazioni Java
  5. Matrici nella programmazione Java
  6. Fattoriale in C #

Categoria: