Duvida sobre ligação de metodos!

Bom pessoal minha duvida é meio idiota mais gostaria ai que o pessoal ajuda-se e explica-se como funciona ou o que esta acontecendo !!

Bom eu tenho um metodo assim :

static void media (int a){

                      int medida = a/2;
 
 }

Bom ai eu crio um metodo central certo como eu faço pra puxar o medida do meu metodo media ?
Ou seja como eu faço pra chamar cariaveis de metodos void ?

Valeu ai e espero que possam me ajudar ai !!

Talvez se você fizesse isso:

private float media(int a) 
    return a/2;
}

Dessa forma, voce poderia fazer isso em outra parte do seu codigo:

float media = this.media(variavel_int_com_um_valor);

Ou seja, voce cria um método que retorna um tipo float de a/2.

bom acho que vc n entendeu … tipo eu sei fazer isto com outros metodos … eu tenho a duvida quando o metodo é void … queria saber como é que eu faço pra pegar a variavel la dentro e usala no meu metodo principal !!!

Ok, vamos lá então:

private float media;

private void getMedia(int a) {
    this.media = a/2;
}

Agora, depois de executar o método:

System.out.println(this.media);

Era isso?

rsrs ainda n meu se ta embaralhando tudo rsrs agora se udou get e n tem a haver com o que eu quero !!
rsrs

Tipo meu metodo é Static void ou seja todos da minha classe podem ver as variaveis que eu tenho dentro certo ?
Bom então eu criei uma varia int medida que usa o meu “a” que tb é um int que o meu metodo pede … bom o que eu quero saber é como pego e uso esta minha variavel medida em um metodo principal…

tipo quando é um metodo int vc fais :
static int soma (int a,int b){

	return a+b;
	
}// fim do meu metodo

bom ai eu chamo ele no meu metodo principal
int x = soma(a,b); // então ele vai me retornar meu “a+b” na minha variavel x .

Bom eu quero saber isto so que com um metodo static void !!

Ok, em um método private, todos da classe podem ‘vê-lo’, nao apenas em um static. Outra, por ter mudado o nome do método para get, sua finalidade nao muda absolutamente nada, poderia se chamar bolinhaVerde que o resultado seria o mesmo. :cool:

O que é método principal? Você se refere ao

public static void main (String args[]) {} 

?

Desde que sua váriavel seja criada de forma global em sua classe, e nao de forma local(dentro de um método qualquer.) voce terá acesso direto a ela de qualquer outra parte da sua classe, e talvez até de outras classes, dependendo do encapsulamento.

Se ele é void, quer dizer que quando se chama o método ele (o método) nao retorna nada. Mas SE você atribuir um resultado qualquer a uma variável sua global dentro de seu método static, então voce terá acesso a ela de qualquer parte da sua classe sem nenhuma difculdade, apenas chamando-a como voce chama qualquer outra variável.

Sobre static, veja mais aqui.

Talvez tire o resto de suas dúvidas, ok?

Colega essa é uma duvida mais voltada para linguagem de programação. :slight_smile:

Você não pode usar um atributo/variável LOCAL em outra parte do seu código a não ser dentro do próprio método que ele é instanciado.

Ou seja:

Em termos de Java
void medida(int a) {
int medida = a/2;
}

Em termos de Pascal
procedure medida(a:integer);
VAR medida : integer;
Begin
medida = a/2
End;

“medida” é um atributo/variável local do metodo/procedimento e não pode ser extendido para fora do seu escopo - medida().

Então, dessa forma é “inviável” utilizar o atributo medida fora do método medida() da forma que você deseja.
Você terá que usa-lo como uma instancia da classe ou instanciar medida dentro do metodo que você ta querendo chamar medida() e passa-lo como parametro na assinatura do metodo medida(), por exemplo. Outras formas de usar o atributo já foi comentado mais acima.

Abraços,

Pois é … andei pesquisando e é isto mesmo o que vc falou ai em cima !!
Realmente… rsrsrs

Bom mais valeu pelo aprendizado né !!

Valeu a galera que ajudou ai !!^^