Problema para chamar método

6 respostas
G

Eai pessoal!

Como eu faço pra chamar um método dentro de outro? Tipo, um método calcula a diferença em meses entre duas datas e armazena essa diferença em uma variável e outro método deve pegar essa variável e utilizá-la. Isso tudo na mesma classe… como eu faço pra utilizar essa variável dentro de outro método?

6 Respostas

Gleidson_Henrique
public void metodoMaior(){
  int variavelquerecebe = diferencaDatas(2012-01-01, 2012-02-01);
  System.out.println("Total de dias é: " + variavelquerecebe );
}

public int diferencaDatas(Date data1, Date2){
  //Aqui as contas responsaveis pela conta
  return variavel;
}

Deu para entender mais ou menos o que eu fiz?

Os metodos ficam separados, e um chama o outro. O segundo metodo tem um retorno, ou seja, quando tudo que tem no metodo terminar, ele irá retornar um int e esse retorno, na verdade irá para a variavel 'variavelquerecebe', do metodo 'metodoMaior', entende?

Qualquer coisa, dê um grito ai que explico novamente...

R

é só chamar o método que você precisa normalmente,pois você não precisa criar um objeto dessa mesma classe para fazer a chamada de um método dessa mesma classe internamente. Exemplo:

public void metodo1(String s){
    metodo2(s);
}
public void metodo2(String s){
 System.out.println(s);
}
G

Então Gleidson, n]ao entendi muito bem o uso de variáveis que vc fez… qual variavel do metodomaior vc tá usando no diferencadatas? Assim, usando o seu exemplo, eu queria usar a “variavel” que o metodo diferencaDatas retorna no metodo maior… como dá pra fazer isso?

Gleidson_Henrique
GuilhermeENGMAT:
Então Gleidson, n]ao entendi muito bem o uso de variáveis que vc fez... qual variavel do metodomaior vc tá usando no diferencadatas? Assim, usando o seu exemplo, eu queria usar a "variavel" que o metodo diferencaDatas retorna no metodo maior... como dá pra fazer isso?

É isso mesmo que está acontecendo. Segue a ordem de execução.

public static void main(String args[]){
   metodoMaior(); //1
   //6 - continuaria o código, caso houvesse mais aqui
}

public void metodoMaior(){  
  int variavelquerecebe = diferencaDatas(2012-01-01, 2012-02-01);  //2
  System.out.println("Total de dias é: " + variavelquerecebe );  //5
}  
  
public int diferencaDatas(Date data1, Date2){  
  //Aqui as contas responsaveis pela conta  //3
  return variavel;  //4 - Aqui, vamos supor que o valor de variavel é = 30 dias, Quando usa o return, quer dizer que esse valor vai voltar para o metodo chamador
//que no caso é o metodoMaior. La no metodoMaior, a variavelquerecebe é a variavel que receberá o valor de 30 dias.
}

Espero que não tenho dificultado ainda mais seu entendimento.

Repare que o sistema ele vai pulando de um lugar para vários lugares. Ele não trabalha de forma sequencial, como era antigamente. É justamente por esse motivo que temos um tipo de retorno.

Qualquer duvida, pergunte novamente.

Abraços

G

Agora eu enendi certinho, muito obrigado!

Gleidson_Henrique

Coloque então no titulo do tópico [Resolvido]

Criado 11 de fevereiro de 2013
Ultima resposta 12 de fev. de 2013
Respostas 6
Participantes 3