Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Thiago Salles

Manter alterações feitas em um parametro passado

Recommended Posts

Olá pessoal...

 

eu preciso de clarar um método onde as alterações feitas no parametro passado nao se percam..

 

por exemplo:

 

public void somaUm(int pNum){	 pNum += 1;}

daí eu tenho lah uma variável chamada num:

int num = 3;

eu queria q quando eu chamasse o metodo a variável não perdesse a alteração feita no método:

 

System.out.println(num);somaUm(num);System.out.println(num);

esse codigo tá imprimindo:

33

mas eu gostaria que imprimisse:

34

como eu faço isso?

 

Abraço pessoal!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se entendi ao certo, você quer chamar um método com "num" como parametro, porém sem perder o valor de "num" para outras operações, é isso?Se for...

public int somaUm(int num){return (num + 1);}

Dae você faria isso:

int num = 3;int aux = 0;aux = somaUm(num);System.out.println(num);System.out.println(aux);

Isso iria imprimir

34

Você também poderia fazer tudo direto:

System.out.println(somaUm(num));

Dá na mesma.Flws

Compartilhar este post


Link para o post
Compartilhar em outros sites

é dessa forma q eu tinha feito... mas eu queria que fosse direto...

 

em vez de:

aux = somaUm(num);

somente:

somaUm(num);

em PHP eu faço assim:

 

function somaUm(&$num){	 $num += 1;}

aquele "&" na frente do nome da variavel indica que toda as alterações feitas dentro da função não serão perdidas ao termindo da execução.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ahm, acho que entendi agora, você pode fazer duas coisas:

public int somaUm(int num){return (num + 1);}num = somaUm(num);

ou declarar num como uma variavel global, assim todas as modificações que ela sofrer em qualquer função não serão perdidas ao fim da função.

class Classe{private int num = 0;//Declaraçao de variavel fora da função.[...] resto do programa}

Essas são as duas maneiras que eu conheço. Se existem outra eu não aprendi ainda.flws

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.