Ο πρωταρχικός τύπος 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
Υπάρχουν πολλές έτοιμες μέθοδοι της βιβλιοθήκης για να εξετάσεις και να χειριστείς 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"
Πρόσεξε να μην χρησιμοποιήσεις τον + για να ενώσεις δύο 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 πρέπει να θεωρεί μια κενή συμβολοσειρά ως έγκυρη.
Υλοποίησε τη (static) μέθοδο SqueakyClean.clean() ώστε να αντικαθιστά όποια κενά με κάτω παύλες. Αυτό ισχύει επίσης για κενά στην αρχή και στο τέλος.
SqueakyClean.clean("my Id");
// => "my___Id"
Τροποποίησε τη (static) μέθοδο SqueakyClean.clean() ώστε να μετατρέπει το kebab-case σε camelCase.
SqueakyClean.clean("a-bc");
// => "aBc"
Τροποποίησε τη (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"
Τροποποίησε τη (static) μέθοδο SqueakyClean.clean() ώστε να παραλείπει όποιους χαρακτήρες δεν είναι γράμματα.
SqueakyClean.clean("a$#.b");
// => "ab"
Γράψου στο Exercism για να μάθεις και να κατακτήσεις Java με 26 έννοιες158 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.