Amigos do GUJ, estou iniciando em Java, porem não consigo entrende o que a de errado com um problema q deparei Hoje.
Essa classe possui o método main que deve receber um número inteiro e chamar
o método fatorial(int) passando o número recebido.
O método fatorial(int) deve calcular e retornar o resultado.
O método principal deve imprimir o valor retornado.
[code]
public class Main {
public static void main(String[] args) {
int numero, i,fatorial,fat,fator;
numero = Integer.parseInt(JOptionPane.showInputDialog("Numero"));
fat = fatorial(fator);
System.out.println(fat);
}
public static int fatorial(int numero, int i, int fator)
{
for(i=numero;i>1;i--)
{
fator *= i;
}
return fator;
}
}[/code]
Você envia um parâmetro para um método que recebe três [size=9] edit, tinha colocado 2, é o sono[/size]!
fat = fatorial(fator);
///....
public static int fatorial(int numero, int i, int fator)
Pois então, não vi diferença e o codigo ainda não roda.
Rezende,
O caso é o seguinte… quando você chama a função fatorial:
…
fat = fatorial(fator);
…
você está passando um parâmetro para a função. Só que a sua função pede que você envie 3 parâmetros:
…
public static int fatorial(int numero, int i, int fator)
…
Você precisa passar também valores para o numero, e este outro int i.
Aegalera consegui achar o resultado, mas ainda fiquei um pouco confuso, esse return, ele atribui um valor para o método, porem, não entendi direito o porque deve colocar um parametro tipo fat = fatorial (NUMERO)
[code]
int numero, fat,fator,fatorial;
numero = Integer.parseInt(JOptionPane.showInputDialog("Numero"));
fat = fatorial(numero);
System.out.println(fat);
}
public static int fatorial(int numero) {
int i, fatorial = 1;
for (i = numero; i > 1; i--) {
fatorial *= i;
}
return fatorial;
}
}[/code]
Valeu ae galera !!