Galera, eu gostaria da ajuda de vcs pra saber qual o erro no seguinte código:
package atividade;
import java.util.Scanner;
public class Atividade {
public static int n;
public static long result;
public static int a[]= new int[n];
public static void main(String[] args) {
System.out.println("Entre com o número para o cálculo do fatorial");
int n= new Scanner(System.in).nextInt();
int x = n;
int aux = n-1;
if(n<=100){
for(n=n-1;n>=0;n--){
a[n]= n;
}
}
else{
if(n<0){
System.out.println("Numéro negativo não tem fatorial");
}
result = a[aux] * a[aux-1];
for(aux=aux-2;aux>0;aux--){
result = result * (a[aux]);
}
for(x=x-1;x>=0;x--){
System.out.println(a[x]+" * " + a[x-1]);
}
System.out.println("=" + result);
}
}
}
O código é compilado com sucesso, mas ainda sim acusa o seguinte erro ( para o número 2):
Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 1
at atividade.Atividade.main(Atividade.java:23)
Java Result: 1
Obs:eu sei que o índice do array começa com 0, mas nao consigo identificar a falha no código.
Preciso fazer o seguinte:
Utilizando os conhecimentos adquiridos na aula de LPOO desenvolva uma aplicação Java que calcule o Fatorial de “n” inteiros positivos (n!). Sendo n! o produto de todos os inteiros positivos possíveis, a aplicação deverá solicitar ao usuário a entrada de um número (n) e calcular o seu Fatorial, exibindo a expressão fatorial e o seu resultado.
Entrada
Informe um número para o cálculo fatorial:
4
Processamento
4 x 3 x 2 x 1
Saída
4! = 4 x 3 x 2 x 1 => 24