Trilhas
/
Java
Java
/
Exercícios
/
Ano Bissexto
Ano Bissexto

Ano Bissexto

Fácil

Introdução

Um ano bissexto (no calendário gregoriano) acontece:

  • Em todo ano que é divisível por 4.
  • A menos que o ano seja divisível por 100, caso em que só é bissexto se também for divisível por 400.

Alguns exemplos:

  • 1997 não foi um ano bissexto, pois não é divisível por 4.
  • 1900 não foi um ano bissexto, pois não é divisível por 400.
  • 2000 foi um ano bissexto!
Note

Para uma explicação encantadora de quatro minutos sobre todo o fenômeno dos anos bissextos, confira este vídeo do YouTube.

Instruções

Sua tarefa é determinar se um determinado ano é bissexto.

Implementação

Antes de começar, certifique-se de que você entende como escrever código capaz de passar nos casos de teste. Para mais contexto, dê uma olhada neste tutorial.

A maioria dos exercícios de Java inclui vários casos de teste. Esses casos são estruturados para dar suporte a um processo útil conhecido como desenvolvimento orientado a testes (TDD). O TDD envolve repetir um ciclo estruturado que ajuda quem programa a construir funcionalidades complexas peça por peça, em vez de tudo de uma vez. Esse ciclo pode ser descrito assim:

  1. Adicione um teste que descreva uma parte da funcionalidade desejada que seu código ainda não tem.
  2. Rode os testes para verificar que esse teste recém-adicionado falha.
  3. Atualize o código que você já tem até que:
    • Todos os testes antigos continuem passando;
    • O novo teste também passe.
  4. Faça uma limpeza no seu código, certificando-se de que todos os testes continuem passando. Isso normalmente envolve renomear variáveis, remover trechos de lógica duplicados, remover registros de log que sobraram etc.
  5. Volte ao passo 1 até que toda a funcionalidade desejada esteja pronta!

Os arquivos de teste desta track contêm todos os testes que a sua solução precisa passar para ser considerada válida. À primeira vista, isso não parece compatível com o ciclo descrito acima, no qual os testes são escritos um a um. No entanto, a ferramenta que usamos para escrever nossos testes, o JUnit, oferece uma anotação @Disabled que pode ser usada para pular temporariamente um teste já escrito. Usando essa anotação, garantimos que os arquivos de teste que entregamos a você sigam as seguintes regras:

  • O primeiro teste de qualquer arquivo de teste não é pulado por padrão.
  • Todos os testes de um arquivo de teste, exceto o primeiro, são pulados por padrão.

Isso permite que você simule o ciclo do TDD seguindo estes passos ligeiramente modificados:

  1. Rode os testes para verificar que no máximo um teste está falhando no momento.
  2. Atualize o código que você já tem até que todos os testes não pulados passem.
  3. Faça uma limpeza no seu código, certificando-se de que todos os testes não pulados continuem passando.
  4. Remova a anotação @Disabled mais acima no arquivo de teste.
  5. Volte ao passo 1 até que nenhum teste seja pulado e todos os testes passem!
Editar via GitHub O link abre em uma nova janela ou aba
Java Exercism

Tudo pronto para começar Ano Bissexto?

Crie sua conta no Exercism para aprender e dominar Java com 26 conceitos158 exercícios e mentoria humana de verdade, tudo de graça.

Mergulho profundo em Ano Bissexto!

Mergulhe nos diferentes algoritmos e abordagens que você pode usar para resolver Ano Bissexto, enquanto Jeremy e Erik exploram soluções da comunidade interessantes em 10 linguagens diferentes no Exercism.