Διαδρομές
/
Java
Java
/
Ασκήσεις
/
Πεντακάθαρος
Πεντακάθαρος

Πεντακάθαρος

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

Εισαγωγή

Χαρακτήρες

Χαρακτήρες

Ο πρωταρχικός τύπος char της Java είναι μια αναπαράσταση 16 bit ενός μεμονωμένου χαρακτήρα. Πολλά char μπορούν να σχηματίσουν μια συμβολοσειρά, όπως η "word", ή τα char μπορούν να υποστούν επεξεργασία ανεξάρτητα. Ένα char literal περικλείεται από μονά εισαγωγικά (π.χ. 'A').

char lowerA = 'a';
char upperB = 'B';

Λαμβάνοντας τα char μιας String

Η μέθοδος String.toCharArray επιστρέφει τα char μιας String ως πίνακα. Όπως αναφέρθηκε στους πίνακες, μπορείς να χρησιμοποιήσεις έναν βρόχο for για να διατρέξεις τον πίνακα.

String text = "Hello";
char[] asArray = text.toCharArray();

for (char ch: asArray) {
    System.out.println(ch);
}

// Outputs:
// H
// e
// l
// l
// o

Η κλάση Character

Υπάρχουν πολλές έτοιμες μέθοδοι της βιβλιοθήκης για να εξετάσεις και να χειριστείς char. Μπορείς να τις βρεις ως στατικές μεθόδους της κλάσης java.lang.Character. Ορίστε μερικά παραδείγματα:

Character.isWhitespace(' ');    // true
Character.isWhitespace('#');    // false

Character.isLetter('a');        // true
Character.isLetter('3');        // false

Character.isDigit('6');         // true
Character.isDigit('?');         // false

Προσθέτοντας ένα char σε μια String

Ο τελεστής + μπορεί να χρησιμοποιηθεί για να προσθέσεις ένα char σε μια String.

'a' + " banana"     // => "a banana"
"banana " + 'a'     // => "banana a"
Caution

Πρόσεξε να μην χρησιμοποιήσεις τον + για να ενώσεις δύο char και να σχηματίσεις μια String! Το να προσθέσεις δύο char με αυτόν τον τρόπο δίνει ένα int, όχι μια String! Για παράδειγμα:

'b' + 'c';
// => 197 (not the String "bc")

Αυτό συμβαίνει επειδή η Java προάγει το char σε int (βλ. 4.2 Πρωταρχικοί Τύποι και Τιμές της Προδιαγραφής της Γλώσσας Java).

Ωστόσο, όταν υπάρχουν πολλοί χαρακτήρες που πρέπει να προστεθούν, μπορεί να είναι πιο αποδοτικό να χρησιμοποιήσεις ένα StringBuilder:

StringBuilder builder = new StringBuilder();
builder.append('a');
builder.append('b');
builder.append('c');

String builtString = builder.toString();
// => abc

Οδηγίες

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

Στις 4 εργασίες θα χτίζεις σταδιακά τη μέθοδο clean. Ένα έγκυρο όνομα SqueakyClean αποτελείται από μηδέν ή περισσότερα γράμματα και κάτω παύλες.

Σε όλες τις περιπτώσεις, διασφαλίζεται ότι η συμβολοσειρά εισόδου δεν είναι null. Σημείωσε ότι η μέθοδος clean πρέπει να θεωρεί μια κενή συμβολοσειρά ως έγκυρη.

1. Αντικατέστησε όποια κενά συναντάς με κάτω παύλες

Υλοποίησε τη (static) μέθοδο SqueakyClean.clean() ώστε να αντικαθιστά όποια κενά με κάτω παύλες. Αυτό ισχύει επίσης για κενά στην αρχή και στο τέλος.

SqueakyClean.clean("my   Id");
// => "my___Id"

2. Μετέτρεψε το kebab-case σε camelCase

Τροποποίησε τη (static) μέθοδο SqueakyClean.clean() ώστε να μετατρέπει το kebab-case σε camelCase.

SqueakyClean.clean("a-bc");
// => "aBc"

3. Μετέτρεψε το leetspeak σε κανονικό κείμενο

Τροποποίησε τη (static) μέθοδο SqueakyClean.clean() ώστε να μετατρέπει το leetspeak σε κανονικό κείμενο.

Για απλότητα, θα αντικαταστήσουμε μόνο τα 4, 3, 0, 1 και 7 με a, e, o, l και t, αντίστοιχα.

SqueakyClean.clean("H3ll0 W0rld");
// => "Hello_World"
SqueakyClean.clean("4 73s7");
// => "a_test"

4. Παράλειψε χαρακτήρες που δεν είναι γράμματα

Τροποποίησε τη (static) μέθοδο SqueakyClean.clean() ώστε να παραλείπει όποιους χαρακτήρες δεν είναι γράμματα.

SqueakyClean.clean("a$#.b");
// => "ab"
Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα
Java Exercism

Έτοιμος να ξεκινήσεις την άσκηση Πεντακάθαρος;

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