Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] LocalDateTime alguem consegue me dar uma dica?

Olá, estou estudando JAVA a alguns meses, e comecei a criação de um projeto pessoal, para treinar as estruturas de controle, POO etc... Agora estou com uma dúvida, meu programa vai ter uma classe de serviço que quando criada irá pegar a data atual do sistema dia,mes e ano. Gostaria de uma ideia de como posso criar um validador de garantia, para que só seja TRUE caso a criação do objeto serviço seja <= 90 dias.

Tipo, criei um serviço para um cliente x dia 01 de janeiro de 2024. Ele trouxe o aparelho para garantia hoje dia 24/04/2024, (fora da garantia). O boolean garantia se eu verificar vai retornar false; E me diga também por gentileza, o que tenho que estudar para que todos esses objetos criados sejam salvos em um banco de dados local. (ainda nao sei nada sobre banco de dados)

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas
solução!

Olá, Watilla.

Tudo bem?

Vamos começar resolvendo sua dúvida sobre como criar um validador de garantia para verificar se a criação de um objeto serviço ocorreu há menos de 90 dias. Para isso, você pode utilizar a classe LocalDate do Java, que já está sendo importada no seu código. Você pode adicionar um método na sua classe Services que verifica se a data de criação do serviço está dentro do período de garantia. Veja um exemplo de como você pode fazer isso:

import java.time.LocalDate;
import java.time.temporal.ChronoUnit;

public class Services {
    private LocalDate dataCriacao;

    public Services(String tipoDeServico) {
        this.dataCriacao = LocalDate.now();
    }

    public boolean verificaGarantia() {
        LocalDate dataAtual = LocalDate.now();
        long diasDiferenca = ChronoUnit.DAYS.between(dataCriacao, dataAtual);
        return diasDiferenca <= 90;
    }
}

Neste exemplo, o método verificaGarantia calcula a diferença em dias entre a dataCriacao do serviço e a data atual. Se essa diferença for de 90 dias ou menos, o método retorna true, indicando que o serviço ainda está na garantia.

Quanto à sua segunda pergunta sobre como salvar esses objetos em um banco de dados local, você precisará aprender sobre JDBC (Java Database Connectivity) ou JPA (Java Persistence API), que são tecnologias que permitem a interação entre aplicações Java e sistemas de gerenciamento de banco de dados.

Para começar, você pode estudar o básico de SQL (Structured Query Language), que é a linguagem padrão para gerenciar bancos de dados relacionais. Depois, você pode aprender sobre JDBC, que é uma API para conectar sua aplicação Java a um banco de dados, executar comandos SQL e gerenciar resultados. Se preferir uma abordagem mais abstrata e de alto nível, você pode estudar JPA, que permite mapear objetos Java para registros de banco de dados de uma forma mais direta e simples.

Espero ter entendido e conseguido ajudar. Qualquer dúvida manda aqui. Bons estudos.

Cara, muitissimo obrigado! Me ajudou demais dar dicas de estudo, eu realmente não sabia o que estudar para aprender sobre banco de dados pra continuar fazendo esse projeto. Valeu demais!