Bom galera, sou iniciante em java e tenho um exercicio para fazer que é criar um calculo do fatorial de um número inteiro digitado pelo usuário. Por exemplo, 5! = 5.4.3.2.1 = 120, eu consegui fazer mas existe um erro de logica, eu sei que é necessario fazer o numero - 1 * o numero -2, mas não sei de que forma fazer… desde ja agradeço a ajuda…
import javax.swing.*;
public class Fatorial{
public static void main(String args []){
int numero,i;
numero=Integer.parseInt(
JOptionPane.showInputDialog("Digite um número inteiro"));
for (i=1;i<=numero;i++){
numero=numero*i;
}
JOptionPane.showMessageDialog(null,"O calculo fatorial do numero é:"+ numero);
}
}
import javax.swing.JOptionPane;//não há porque importar todas as classes sendo que vc so ta usando uma.
public class Fatorial{
public static void main(String args []){
int numero, resultado;
numero=Integer.parseInt(
JOptionPane.showInputDialog("Digite um número inteiro"));
for (int i=numero; i<1; i--){
if(i != numero)
resultado *= i; //to na duvida quanto ao operador. qlqr coisa mude para >> resultado = resultado * i; <<
}
JOptionPane.showMessageDialog(null,"O calculo fatorial do numero é:"+ resultado);
}
}
Se houver outras maneiras de se fazer isso adorarei ver. A minha maneira seria essa. So espero que esteja correto. hehehe :roll:
public class Fatorial
{
public static void main(String args[])
{
int numero;
BigInteger resultado = BigInteger.ONE;
numero = Integer.parseInt(JOptionPane.showInputDialog("Digite um número inteiro"));
if (numero < 1)
throw new IllegalArgumentException("O número deve ser maior que 0.");
for (int i = 1; i <= numero; i++)
resultado = resultado.multiply(new BigInteger(Integer.toString(i)));
JOptionPane.showMessageDialog(null, "O calculo fatorial do numero é: " + resultado);
}
import javax.swing.JOptionPane;
public class Exercicio2{
public static void main(String args []){
int numero,i,resp=1;
numero=Integer.parseInt(
JOptionPane.showInputDialog("Digite um número inteiro"));
for (i = 1; i <= numero; i = i + 1)
resp = resp * i;
JOptionPane.showMessageDialog(null,"O calculo fatorial do numero é: "+ resp);
}
}