Métodos estáticos

4 respostas
Rezende

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.

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

4 Respostas

Jesuino_Master

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

Pois então, não vi diferença e o codigo ainda não roda.

A

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.

Rezende

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)

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

Valeu ae galera !!

Criado 14 de abril de 2011
Ultima resposta 16 de abr. de 2011
Respostas 4
Participantes 3