Retorna Inteiro

6 respostas
P

Gente...Preciso de uma ajuda...Tem poucos dias que eu estou aprendendo java...Eu quero saber como que eu faço para retornar um inteiro de um metodo... ja tentei fazer varias coisas que vi em outros topicos mas nao consegui...

Ai abaixo ta um pedaço q eu peguei so pra ilustrar, o programa nao é assim!!!!

public static void calculacombinacao(int n, int p)

{

int termo1,termo2,termo3;
int k = n;

fatorial(k);

termo1 = k;

System.out.printf(" termo1 =  %d\n", termo1);

}

public static int fatorial(int k)

{

int x = k-1;

while (x != 0)

{k = k*x;
x = x - 1;}

}
Eu gostaria de retornar o inteiro k de volta para o metodo calculacombinacao...Devem haver milhoes de jeitos melhores de se fazer isso, mas eu ainda sei muito pouco de java.

Eu ja ate consegui fazer de outro jeito, mas o exercicio pede pra fazer desse jeito

6 Respostas

P
diego2005

Pra retorna um inteiro em um método você pode fazer assim:

public int meuMetodo() { return 10; // retorna o valor 10 }

T+

P

Eu ja tentei isso, so que nao retorna o valor da variavel atualizada!

Andre_Brito

Como assim variavel atualizada?

Se você quer mudar (atualizar) um valor de uma variável você precisa mandar ela por parâmetro.

public int nomeDaFuncao(int variavelInteira) { return (variavelInteira - 1); }

E chamar a função lá no método main.

Isso o que você está fazendo está muito parecido com programação imperativa, estruturada (tipo C, Pascal).
Você por acaso tá fazendo essa transição?

Se você tá tentando fazer fatorial eu acho que um algoritmo recursivo ficaria melhor, mas se você tá começando faça do seu jeito. A lógica que você fez, você entende. Nem sempre adianta pegar códigos dos outros.

Abraço.

diego2005

Acho que entendi a situação. Você tem uma chamada:

fatorial(k);

Ai depois voê quer retornar a variável k. Só que você passa a variável k pro método fatorial, que faz o cálculo e pronto, não retorna nada. E em Java não temos passagem de parâmetros por referência. Então a variável k que você usar no método fatorial é diferente da que você usa no método calculacombinacao. Então tente fazer o seguinte:

public static void calculacombinacao(int n, int p) {   
    int termo1,termo2,termo3;   
  
    k = fatorial(n);
  
    termo1 = k;   
  
    System.out.printf(" termo1 =  %d\n", termo1);   
}   
  
public static int fatorial(int k) {     
    int x = k-1;   
  
    while (x != 0) {
        k = k*x;   
        x = x - 1;
    }   
  
    return k;
}

Acho que é isso....t+

P

Valeu Galera, Deu certo!!!

T+

Criado 27 de outubro de 2007
Ultima resposta 27 de out. de 2007
Respostas 6
Participantes 3