Διαδρομές
/
Java
Java
/
Ασκήσεις
/
Ο Tim από το μάρκετινγκ
Ο Tim από το μάρκετινγκ

Ο Tim από το μάρκετινγκ

Άσκηση εκμάθησης

Εισαγωγή

Δυνατότητα null

Στη Java, το literal null χρησιμοποιείται για να δηλώσει την απουσία τιμής.

Οι πρωτόγονοι τύποι δεδομένων στη Java έχουν όλοι μια προεπιλεγμένη τιμή και επομένως δεν μπορούν ποτέ να είναι null. Κατά σύμβαση, ξεκινούν με πεζό γράμμα, π.χ. int.

Οι τύποι αναφοράς περιέχουν τη διεύθυνση μνήμης ενός αντικειμένου και μπορούν να έχουν τιμή null. Γενικά ξεκινούν με κεφαλαίο γράμμα, π.χ. String.

Αν προσπαθήσεις να αντιστοιχίσεις μια τιμή null σε μια πρωτόγονη μεταβλητή, θα προκύψει σφάλμα κατά τη μεταγλώττιση, καθώς η μεταβλητή περιέχει πάντα μια πρωτόγονη τιμή του τύπου που της έχει αντιστοιχιστεί.

//Throws compile time error stating the required type is int, but null was provided
int number = null;

Η αντιστοίχιση μιας τιμής null σε μια μεταβλητή αναφοράς δεν θα προκαλέσει σφάλμα κατά τη μεταγλώττιση, καθώς οι μεταβλητές αναφοράς μπορούν να είναι null.

//No error will occur as the String variable str is nullable
String str = null;

Οδηγίες

Σε αυτή την άσκηση θα γράψεις κώδικα για να εκτυπώνεις σήματα με ονόματα για τους υπαλλήλους ενός εργοστασίου.

1. Εκτύπωσε ένα σήμα για έναν υπάλληλο

Οι υπάλληλοι έχουν ένα αναγνωριστικό, όνομα και όνομα τμήματος. Οι ετικέτες των σημάτων των υπαλλήλων έχουν την εξής μορφή: "[id] - name - DEPARTMENT". Υλοποίησε τη μέθοδο Badge.print() ώστε να επιστρέφει την ετικέτα σήματος ενός υπαλλήλου:

Badge badge = new Badge();
badge.print(734, "Ernest Johnny Payne", "Strategic Communication");
// => "[734] - Ernest Johnny Payne - STRATEGIC COMMUNICATION"

Σημείωσε ότι το τμήμα πρέπει να είναι γραμμένο με κεφαλαία στην ετικέτα.

2. Εκτύπωσε ένα σήμα για έναν νέο υπάλληλο

Λόγω μιας ιδιοτροπίας του υπολογιστικού συστήματος, οι νέοι υπάλληλοι μερικές φορές δεν έχουν ακόμη αναγνωριστικό όταν ξεκινούν να εργάζονται στο εργοστάσιο. Καθώς τα σήματα είναι υποχρεωτικά, θα λαμβάνουν ένα προσωρινό σήμα χωρίς το πρόθεμα αναγνωριστικού. Τροποποίησε τη μέθοδο Badge.print() ώστε να υποστηρίζει νέους υπαλλήλους που δεν έχουν ακόμη αναγνωριστικό:

Badge badge = new Badge();
Badge.print(null, "Jane Johnson", "Procurement");
// => "Jane Johnson - PROCUREMENT"

3. Εκτύπωσε ένα σήμα για τον ιδιοκτήτη

Ακόμη και ο ιδιοκτήτης του εργοστασίου πρέπει να φοράει σήμα συνεχώς. Ωστόσο, ο ιδιοκτήτης δεν έχει τμήμα. Σε αυτή την περίπτωση, η ετικέτα πρέπει να εκτυπώνει "OWNER" αντί για το όνομα του τμήματος. Τροποποίησε τη μέθοδο Badge.print() ώστε να εκτυπώνει μια ετικέτα για τον ιδιοκτήτη:

Badge badge = new Badge();
badge.print(254, "Charlotte Hale", null);
// => "[254] - Charlotte Hale - OWNER"

Σημείωσε ότι είναι πιθανό ο ιδιοκτήτης να είναι και νέος υπάλληλος:

Badge badge = new Badge();
badge.print(null, "Charlotte Hale", null);
// => "Charlotte Hale - OWNER"
Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα
Java Exercism

Έτοιμος να ξεκινήσεις την άσκηση Ο Tim από το μάρκετινγκ;

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