Διαδρομές
/
Java
Java
/
Ασκήσεις
/
Δίσεκτο έτος
Δίσεκτο έτος

Δίσεκτο έτος

Εύκολο

Εισαγωγή

Στο Γρηγοριανό ημερολόγιο, ένα έτος είναι δίσεκτο:

  • Διαιρείται ακριβώς με το 4.
  • Εκτός αν το έτος διαιρείται ακριβώς με το 100, οπότε είναι δίσεκτο μόνο αν διαιρείται ακριβώς και με το 400.

Μερικά παραδείγματα:

  • Το 1997 δεν ήταν δίσεκτο, καθώς δε διαιρείται με το 4.
  • Το 1900 δεν ήταν δίσεκτο, καθώς δε διαιρείται με το 400.
  • Το 2000 ήταν δίσεκτο!
Note

Για μια υπέροχη εξήγηση τεσσάρων λεπτών για όλο το φαινόμενο των δίσεκτων ετών, δες αυτό το βίντεο στο YouTube.

Οδηγίες

Η αποστολή σου είναι να προσδιορίσεις αν ένα δεδομένο έτος είναι δίσεκτο.

Υλοποίηση

Πριν ξεκινήσεις, βεβαιώσου ότι καταλαβαίνεις πώς να γράφεις κώδικα που μπορεί να περάσει τις περιπτώσεις δοκιμών. Για περισσότερες λεπτομέρειες, ρίξε μια ματιά σε αυτόν τον οδηγό.

Οι περισσότερες ασκήσεις Java περιλαμβάνουν πολλαπλές περιπτώσεις δοκιμών. Αυτές οι περιπτώσεις είναι δομημένες για να υποστηρίζουν μια χρήσιμη διαδικασία γνωστή ως ανάπτυξη με βάση τις δοκιμές (TDD). Το TDD περιλαμβάνει την επανάληψη ενός δομημένου κύκλου που βοηθά τους προγραμματιστές να χτίζουν σύνθετη λειτουργικότητα κομμάτι κομμάτι αντί όλα μαζί. Αυτός ο κύκλος μπορεί να περιγραφεί ως εξής:

  1. Πρόσθεσε μια δοκιμή που περιγράφει ένα κομμάτι της επιθυμητής λειτουργικότητας που λείπει αυτή τη στιγμή από τον κώδικά σου.
  2. Τρέξε τις δοκιμές για να επιβεβαιώσεις ότι αυτή η νεοπροστιθέμενη δοκιμή αποτυγχάνει.
  3. Ενημέρωσε τον υπάρχοντα κώδικά σου μέχρι:
    • Όλες οι παλιές δοκιμές να συνεχίζουν να περνούν,
    • η νέα δοκιμή να περνάει κι αυτή.
  4. Καθάρισε τον κώδικά σου, βεβαιώνοντας ότι όλες οι δοκιμές συνεχίζουν να περνούν. Αυτό συνήθως περιλαμβάνει μετονομασία μεταβλητών, αφαίρεση διπλότυπων τμημάτων λογικής, αφαίρεση περιττών καταγραφών, κ.λπ.
  5. Γύρνα στο βήμα 1 μέχρι να έχεις χτίσει όλη την επιθυμητή λειτουργικότητα!

Τα αρχεία δοκιμών σε αυτή τη διαδρομή περιέχουν όλες τις δοκιμές που πρέπει να περάσει η λύση σου για να θεωρηθεί έγκυρη. Αυτό δεν φαίνεται άμεσα συμβατό με τον κύκλο που περιγράφηκε παραπάνω, στον οποίο οι δοκιμές γράφονται μία προς μία. Ωστόσο, το εργαλείο που χρησιμοποιούμε για να γράφουμε τις δοκιμές μας, το JUnit, παρέχει μια σημείωση @Disabled που μπορεί να χρησιμοποιηθεί για να παραλείψει προσωρινά μια δοκιμή που έχει ήδη γραφτεί. Χρησιμοποιώντας αυτή τη σημείωση, βεβαιωνόμαστε ότι τα αρχεία δοκιμών που σου παραδίδουμε ικανοποιούν τους εξής κανόνες:

  • Η πρώτη δοκιμή σε οποιοδήποτε αρχείο δοκιμών δεν παραλείπεται από προεπιλογή.
  • Όλες εκτός από την πρώτη δοκιμή σε οποιοδήποτε αρχείο δοκιμών παραλείπονται από προεπιλογή.

Αυτό σου επιτρέπει να προσομοιώσεις τον κύκλο TDD ακολουθώντας αυτά τα ελαφρώς τροποποιημένα βήματα:

  1. Τρέξε τις δοκιμές για να επιβεβαιώσεις ότι το πολύ μία δοκιμή αποτυγχάνει αυτή τη στιγμή.
  2. Ενημέρωσε τον υπάρχοντα κώδικά σου μέχρι να περάσουν όλες οι μη παραλειπόμενες δοκιμές.
  3. Καθάρισε τον κώδικά σου, βεβαιώνοντας ότι όλες οι μη παραλειπόμενες δοκιμές συνεχίζουν να περνούν.
  4. Αφαίρεσε την πιο πάνω @Disabled σημείωση στο αρχείο δοκιμών.
  5. Γύρνα στο βήμα 1 μέχρι να μην παραλείπεται καμία δοκιμή και να περνούν όλες!
Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα
Java Exercism

Έτοιμος να ξεκινήσεις την άσκηση Δίσεκτο έτος;

Γράψου στο Exercism για να μάθεις και να κατακτήσεις Java με 26 έννοιες158 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.

Αναλυτική ματιά στο Δίσεκτο έτος!

Μια βαθύτερη ματιά στους διαφορετικούς αλγόριθμους και τις προσεγγίσεις που μπορείς να χρησιμοποιήσεις για να λύσεις το Δίσεκτο έτος, καθώς ο Jeremy και ο Erik εξερευνούν ενδιαφέρουσες λύσεις της κοινότητας σε 10 διαφορετικές γλώσσες στο Exercism.