Introdução ao fatorial em Java

Neste artigo, aprenderemos sobre várias maneiras de escrever código na linguagem de programação Java, para fins de cálculos fatoriais.

Sendo uma das Linguagens Orientadas a Objetos, Fácil de Usar, Java, é Independente de Plataforma e uma Linguagem de Programação Simples. O Compilador e Intérprete de Java foram desenvolvidos com a Segurança como um aspecto importante. Java possui vários tipos de aplicativos.

O fatorial, simbolizado como "!" (Ponto de exclamação), é uma operação matemática de Multiplicar um número com todos os números menores que ele. Por exemplo, se o número for 5, a saída para o fatorial será 5! = 5 * 4 * 3 * 2 * 1 = 120.

Como executar um programa Java?

1. Complete seu código e salve-o como (nome do arquivo) .java

2. Abra o Terminal e execute o seguinte comando java.

  • uma. javac (nome do arquivo) .java

3. O comando acima irá gerar um arquivo de classe.

4. Agora execute o arquivo de classe.

  • uma. java (nome do arquivo)

Cálculo de fatorial usando vários métodos

Exemplo 1 - Programa fatorial em Java usando o método básico

A partir de agora, escreveremos um simples programa Java para cálculo fatorial.

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

Salve o código acima com qualquer nome de arquivo e extensão .java.

Código Explicação:

Começou com duas variáveis ​​“i” e “fato”, com o valor 1, depois “número” com 5, que é o nosso número para calcular o fatorial. Entrou no For Loop, continuou aumentando o valor de i até combiná-lo com o número, ou seja, 5. Ao incrementar, toda vez que o valor de fato aumenta, ele é multiplicado e o fato recebe um novo valor.

Saída :

Exemplo 2 - Programa fatorial em Java usando Entrada do Usuário

Outro método comumente usado é onde solicitamos um número de entrada do usuário, para cálculo, em vez de pré-defini-lo.

Consulte o código abaixo para o cálculo com base na entrada do usuário:

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

Salve o código acima, como fizemos no exemplo anterior.

Código Explicação:

A principal diferença entre o exemplo anterior e o acima é a entrada do usuário, Rest é o mesmo. O código solicitará que um número seja calculado; se o número digitado pelo usuário for Negativo em "-", menos, será exibido "Digite um número maior que 0:", o que é óbvio, pois o fatorial não pode ser calculado para número negativo. Agora, ele aceitará um número positivo e prosseguirá com Cálculo do fatorial e, em seguida, imprimirá a saída conforme mostrado na imagem abaixo.

Saída :

Exemplo 3 - Programa fatorial em Java usando o método de recursão

A recursão é uma das ferramentas mais úteis no mundo da programação. Recursão significa basicamente reutilizar a função. Por assim dizer, não precisaremos definir um número extra de variáveis ​​aqui, o que significa que teremos apenas duas variáveis ​​ou menos.

O principal motivo para implementar a Recursão é o poder de reduzir o comprimento do código e reduzir de maneira elegante a complexidade do tempo de um programa. O método de recursão, com suas vantagens, tem algumas desvantagens, que podem ter um grande impacto a longo prazo.

Desvantagens

Desvantagens com recursão:

  • Basicamente, é bastante difícil depurar o código de recursão e rastreá-lo para qualquer etapa com um erro.
  • Fora isso, a recursão usa mais memória, pois usa Stack para realizar a tarefa, onde continua adicionando a pilha com uma chamada recursiva mais recente.
  • E, se não for implementado com sabedoria, a Recursão pode diminuir a função.
  • StackOverflowException: os métodos recursivos geralmente lançam essa exceção devido ao uso excessivo da pilha.

Consulte o código abaixo:

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

Salve e compile o programa como fizemos anteriormente.

Código Explicação:

O código acima começa com uma única variável int, verifica se é igual a 1, se sim, retorna um, pois o fatorial para 1 é 1. Se não for igual a 1, prossegue com a função de recursão. Nosso valor int, por exemplo, é 5, então será como "5 * fatorial (5-1)", fatorial é chamado aqui pela segunda vez, que é outra chamada. Em seguida, ele retorna novamente com o valor int mais recente, que é 4, "4 * fatorial (4-1)", agora será a terceira chamada para o método de recursão. Agora, o valor int mais novo é 3, o que significa "3 * fatorial (3-1)", agora será a quarta chamada e o valor será 2, o que significa "2 * fatorial (2-1)". Na próxima chamada recursiva, o valor int será um, que encerrará a função aqui. Enquanto todas as chamadas foram feitas, seu valor foi salvo em uma pilha, que é um método LIFO. Portanto, para o resultado final, o resultado será "5 * 4 * 3 * 2 * 1 = 120"

Comparado a outros métodos, a recursão é bastante difícil de entender e implementar, mas se bem entendida e implementada com sabedoria, é uma boa ferramenta.

Saída :

É altamente recomendável usar Recursion, apenas no caso, onde escrever um código iterativo pode ser bastante complexo.

Agora que aprendemos vários métodos para implementar cálculos fatoriais em Java, vamos explorar uma função interna que faz o mesmo trabalho, em uma única linha.

Exemplo 4 - Programa fatorial em Java usando a função incorporada

*) IntMath

Entendendo a necessidade de operações aritméticas sobre um valor, algumas funções específicas para certos tipos de valor foram escritas, veremos o valor do tipo Inteiro em funcionamento.

IntMath é uma classe para cálculos aritméticos com um valor int. A classe IntMath vem com uma variedade de operações aritméticas, incluindo fatorial.

Sintaxe :

factorial (int n)

Conclusão - Fatorial em Java

Começamos com uma introdução ao java e como executar um programa java. Em seguida, aprendemos sobre o Cálculo fatorial e vários métodos, incluindo recursão, para realizá-lo.

No final, aprendemos sobre o IntMath, uma função Java, focada principalmente em operações aritméticas. Java é uma linguagem de programação amplamente usada, vem com muitos recursos. Neste artigo, aprendemos sobre Cálculos fatoriais em Java, que é um aspecto minúsculo.

Artigos recomendados

Este é um guia para o fatorial em Java. Aqui discutimos como executar o programa java junto com seus métodos. Você também pode consultar os seguintes artigos para saber mais:

  1. Testando estruturas para Java
  2. Ciclo de vida do encadeamento em Java
  3. Variáveis ​​em Java
  4. Anotações Java
  5. Matrizes na programação Java
  6. Fatorial em C #