Track
/
Java
Java
/
Esercizi
/
Anno bisestile
Anno bisestile

Anno bisestile

Facile

Introduzione

Un anno bisestile (nel calendario gregoriano) si verifica:

  • In ogni anno che è esattamente divisibile per 4.
  • A meno che l'anno sia esattamente divisibile per 100, nel qual caso è bisestile solo se è anche esattamente divisibile per 400.

Alcuni esempi:

  • Il 1997 non era un anno bisestile, dato che non è divisibile per 4.
  • Il 1900 non era un anno bisestile, dato che non è divisibile per 400.
  • Il 2000 era un anno bisestile!
Note

Per una piacevole spiegazione di quattro minuti sull'intero fenomeno degli anni bisestili, dai un'occhiata a questo video su YouTube.

Istruzioni

Il tuo compito è determinare se un dato anno è bisestile.

Implementazione

Prima di iniziare, assicurati di aver capito come scrivere codice in grado di superare i casi di test. Per maggiori dettagli, dai un'occhiata a questo tutorial.

La maggior parte degli esercizi in Java include più casi di test. Questi casi sono strutturati per supportare un processo utile noto come sviluppo guidato dai test (TDD). Il TDD consiste nel ripetere un ciclo strutturato che aiuta chi programma a costruire funzionalità complesse un pezzo alla volta, invece che tutte in una volta. Il ciclo può essere descritto così:

  1. Aggiungi un test che descrive una parte della funzionalità desiderata che al momento manca nel codice.
  2. Esegui i test per verificare che questo test appena aggiunto fallisca.
  3. Aggiorna il codice esistente finché:
    • tutti i vecchi test continuano a passare;
    • anche il nuovo test passa.
  4. Riorganizza il codice, assicurandoti che tutti i test continuino a passare. Di solito questo comporta rinominare le variabili, rimuovere pezzi di logica duplicati, togliere i log rimasti, ecc.
  5. Torna al passo 1 finché non hai costruito tutta la funzionalità desiderata!

I file di test di questo track contengono tutti i test che la soluzione deve superare per essere considerata valida. Così non sembra subito compatibile con il ciclo descritto sopra, in cui i test si scrivono uno alla volta. Tuttavia, lo strumento che usiamo per scrivere i nostri test, JUnit, fornisce un'annotazione @Disabled che permette di saltare temporaneamente un test già scritto. Usando questa annotazione, ci assicuriamo che i file di test che ti consegniamo rispettino le seguenti regole:

  • Il primo test in ogni file di test non viene saltato per impostazione predefinita.
  • Tutti i test tranne il primo in ogni file di test vengono saltati per impostazione predefinita.

Questo ti permette di simulare il ciclo del TDD seguendo questi passi leggermente modificati:

  1. Esegui i test per verificare che al momento fallisca al massimo un test.
  2. Aggiorna il codice esistente finché tutti i test non saltati passano.
  3. Riorganizza il codice, assicurandoti che tutti i test non saltati continuino a passare.
  4. Rimuovi l'annotazione @Disabled più in alto nel file di test.
  5. Torna al passo 1 finché non ci sono più test saltati e tutti i test passano!
Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
Java Exercism

Vuoi iniziare Anno bisestile?

Iscriviti a Exercism per imparare e padroneggiare Java con 26 concetti158 esercizi e il mentoring di persone reali, tutto gratis.

Approfondimento su Anno bisestile!

Un approfondimento sui diversi algoritmi e approcci che puoi usare per risolvere Anno bisestile: Jeremy ed Erik esplorano interessanti soluzioni della community in 10 linguaggi diversi su Exercism.