1
resposta

Como guardar o momento de criação do objeto

Opa, eu tenho a classe Curso e queria criar um atributo inicioAulas e jogar isso no construtor pra receber a data que vai começar as aulas, mas me perdi no processo.

Eu criei uma classe data e formatei a data nela, criei o atributo inicioAulas com o tipo Datas e coloquei no construtor, mas da erro, pois não sei como inserir a data ao criar o curso. Eu criei o getInicioaulas pra poder consultar a data de inicio das aulas quando quiser.

public class Curso {
    private String nome;
    private int alunos;
    private Datas inicioAulas;

   public Curso(String nome, int alunos, Datas inicioAulas) {
    this.nome = nome;
   this.alunos = alunos;
   this.inicioAulas = inicioAulas;
  }

classe Datas logo abaixo:

 public class Datas {
    private DateTimeFormatter data;

    public DateTimeFormatter formata(DateTimeFormatter data){
        data= DateTimeFormatter.ofPattern("dd/mm/yyyy");
        return data ;
    }
}

criei um curso e passei os numeros direto, sei que está errado pq ta int mas como faço?

Curso curso1 =new Curso("teste",12,02/05/2022);

1 resposta

Olá Aureo,

É necessário fazer uns ajustes... Existem várias formas de fazer isso, talvez você tentar assim:

public class Curso {
    private String nome;

    private int alunos;

    private Datas inicioAulas;

    public Curso(String nome, int alunos, Datas inicioAulas) {
        this.nome = nome;
        this.alunos = alunos;
        this.inicioAulas = inicioAulas;
    }

    public String toString() {
        return "[AULAS] Turma: " + this.nome + "; QTD Alunos: " + this.alunos + "; Início das aulas: " + this.inicioAulas.getData();
    }
}
public class Datas {

    private String data;

    public void formata(String data){
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy");
        this.data = formatter.format(LocalDate.parse(data, formatter));
    }

    public String getData() {
        return this.data;
    }

}
public class Aula {

    public static void main(String[] args) {
        Datas datas = new Datas();
        datas.formata("03/08/2022");
        Curso curso = new Curso("Classe A", 20, datas);
        System.out.println(curso);
    }
}

O resultado será: [AULAS] Turma: Classe A; QTD Alunos: 20; Início das aulas: 03/08/2022

Espero que te ajude.