Meu metodo não esta dando certo

6 respostas
jolivier

Bom dia a todos!!

Galeraaa eu estou criando uma classe Funcionário, praticamente 90% esta pronto e os metodo estão corretos, mais tem um método que ta me deixando de cabeça quente eo setData(){}, bom vamos lá.

primeiramente eu criei uma classe Data segue abaixo:
public Class Data{
  int dia;
  int mes;
  int ano;
  
 public Data (int dia, int mes, int ano){
     this.dia = dia;
    this.mes = mes;
   this.ano = ano;

}
}
C

Então veio a classe Funcionário, só vou colocar a minha duvida no código abaixo tá

Public Class Funcionario{
  Data admição;  // atributo que vai garda a data de admição do funcionario tal.
   
    //Aqui e o metodo setData
 public void setData(int d, int m, int a){
 admição = new Data(d,m,a)
     
}
  Data getData(){
  return admição.Data(d,m,a);
}
 public void Exibir(){
  System.out.println(getData());
}

}
Sera que tá certo não consigo usar como eu posso testá-la eu testei assim:
Class teste{
public static void main(String args[]){
Funcionario fun =  new Funcionario();
  fun.setData(18,09,2008);
  fun.getData();
}

}

mais não deu certo.
desde já muito obrigado

6 Respostas

khaoz

Tenta o seguinte na sua classe de funcionário:

public class Funcionario {

    Data admicao;

    public void setData(int d, int m, int a) {
        this.admicao = new Data(d, m, a);
    }

    public Data getData() {
        return this.admicao;
    }

    public void exibir(){  
        System.out.println(getData());  
    }
}

No seu main você utiliza o fun.setData() e o fun.exibir().
Se não der, posta o erro.

[]'s

g4j

E o que vc realmente quer fazer?

Deu algum erro?

ViniGodoy

Pq no getData() você não faz só:

public Data getData() { return admição; }

Outra coisa, embora o Java permita, não é considerada a melhor prática do mundo usar acentuação em nomes de variáveis. Isso pode complicar muito o trabalho em time, se seu colega oriental resolver usar os caracteres japoneses, ou chineses.

B

public e class devem ser minúsculos.

getData deve retornar somente admição.

e os métodos devem ser públicos caso você queira usá-los fora do pacote onde a classe está.

tspaulino

Bom dia, colega!

Bem… se eu entendi direito, você está tendo problemas com o retorno do método getData(), certo??

Vamos entender o que há de errado:

Public Class Funcionario{
  Data admição;  // atributo que vai garda a data de admição do funcionario tal.
   
    //Aqui e o metodo setData
 public void setData(int d, int m, int a){
 admição = new Data(d,m,a)
     
}
  Data getData(){
  return admição.Data(d,m,a);//Admissão já é uma Data, logo o retorno deve ser apenas admição.
/*Outra coisa: evite colocar atributos ou qualquer variavel acentuada. E nesse caso em especial, o substantivo é admissão e não admição. De qualquer modo, use "admissao".
*/
}
 public void Exibir(){
  System.out.println(getData());
}

No mais, eu acho q funciona ok agora!!!

Um aperto de mão,

Tiago Paulino.

jolivier

Galera, muito obrigado pela a ajuda vou testa as opções que foram postada aqui.
tspaulinho valeu pela dica e de brinde uma aula de português né haahaa valeu mesmo um aperto de mão.
pessoal vou testar lá em casa porque to na empresa e o javac ta bloqueado aqui na empresa os cara da TI não brinca em serviço bloqueia tudo mesmo

mas não abusando da boa vontade alei se alguém poder testar ai eu agradeço. mas si não blz. bom muito obrigado a todos, amanhã eu falo se deu certo

Criado 18 de setembro de 2008
Ultima resposta 18 de set. de 2008
Respostas 6
Participantes 6