8 ΥΜΒΟΛΟΕΙΡΕ - STRINGS

Σχετικά έγγραφα
Οντοκεντρικόσ Προγραμματιςμόσ

5 ΜΕΘΟΔΟΙ - ΠΑΡΑΜΕΤΡΟΙ

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος

9 ΕΞΑΙΡΕΕΙ - EXCEPTIONS

ΕΡΓΑΣΗΡΙΑΚΗ ΑΚΗΗ 4.1

Αντικείµενα. ηµιουργία και χρησιµοποίηση αντικειµένων. ηµιουργία αντικειµένων

3 ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ ( while, do while )

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων. 15. Πίνακεσ ΙI. Ιωάννθσ Κατάκθσ. ΕΠΛ 032: Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων. 19. Αλφαριθμητικά II. Ιωάννθσ Κατάκθσ. ΕΠΛ 032: Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων

1 ΕΙΣΑΓΩΓΗ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

17. Πολυδιάςτατοι πίνακεσ

Δομθμζνοσ Προγραμματιςμόσ. Βαγγζλθσ Οικονόμου Εργαςτιριο 9

Ιδιότθτεσ πεδίων Γενικζσ.

Ρρογραμματιςμόσ Μεκόδων Επίλυςθσ Ρροβλθμάτων. 18. Αλφαριθμητικά. Ιωάννθσ Κατάκθσ. ΕΡΛ 032: Ρρογραμματιςμόσ Μεκόδων Επίλυςθσ Ρροβλθμάτων

Δείκτεσ Διαχείριςθ Μνιμθσ. Βαγγζλθσ Οικονόμου Διάλεξθ 8

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων. Διαφάνειεσ: Βαςικζσ Αρχζσ Προγραμματιςμοφ Α.Π.Θ. Δθμιτρθσ Βράκασ

Ειςαγωγι ςτθν Επιςτιμθ Υπολογιςτϊν. Ειςαγωγι ςτθν Python

Οντοκεντρικόσ Προγραμματιςμόσ

10 ΕΙΣΟΔΟΣ ΕΞΟΔΟΣ ΔΕΔΟΜΕΝΩΝ

2 ΕΝΤΟΛΕΣ ΕΛΕΓΧΟΥ. Η πιο απλι μορφι ςφγκριςθσ εντολισ ελζγχου ζχει τθ μορφι : if (<ζπλζήθε>) εληνιή; if(<ζπλζήθε>){ block εληνιώλ; }

Οντοκεντρικόσ Προγραμματιςμόσ

Εργαςτιριο Βάςεων Δεδομζνων

Διαχείριςθ του φακζλου "public_html" ςτο ΠΣΔ

Αντικειμενοστρεφής Προγραμματισμός

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

Οντοκεντρικός Προγραμματισμός

16. Πίνακεσ και Συναρτήςεισ

Εισαγωγή στη JAVA. Εισαγωγή στη Java. Η Java είναι δημιούργημα της SUN MICROSYSTEMS.

ΠΡΟΓΡΑΜΜΑΣΙΜΌ ΤΠΟΛΟΓΙΣΏΝ. Κεφάλαιο 8 Η γλϊςςα Pascal

Σύ ντομος Οδηγο ς χρη σης wikidot για τα projects

Mεταβλητές (variables) και Σταθερές (constants)

Δυαδικοσ πολλαπλαςιαςμοσ και διαιρεςη ακεραιων

Στα προθγοφμενα δφο εργαςτιρια είδαμε τθ δομι απόφαςθσ (ι επιλογισ ι ελζγχου ροισ). Ασ κυμθκοφμε:

Δομζσ Δεδομζνων Πίνακεσ

ΕΦΑΡΜΟΓΕ ΒΑΕΩΝ ΔΕΔΟΜΕΝΩΝ ΣΗ ΝΟΗΛΕΤΣΙΚΗ. Φιλιοποφλου Ειρινθ

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 7 θ Διάλεξθ Διαχείριςθ Μνιμθσ Μζροσ Γ

Σ ΤΑΤ Ι Σ Τ Ι Κ Η. Statisticum collegium V

Οντοκεντρικόσ Προγραμματιςμόσ

ΟΝΟΜΑΣΟΛΟΓΙΑ ΠΑΡΑΜΕΣΡΩΝ ΓΙΑ ΠΡΟΑΡΜΟΜΕΝΕ ΑΝΑΦΟΡΕ. παραμζτρου> (Εμφανίηεται ςαν Caption ςτθν φόρμα των φίλτρων).

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ. Αλγοριθμική και Προγραμματισμός

Επιχειρηςιακή Ζρευνα και εφαρμογζσ με την χρήςη του λογιςμικοφ R

ΗΥ101: Ειςαγωγι ςτθν Πλθροφορικι

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07

Παράςταςη ακεραίων ςτο ςυςτημα ςυμπλήρωμα ωσ προσ 2

Οντοκεντρικός Προγραμματισμός

Δομζσ Αφαιρετικότθτα ςτα Δεδομζνα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός μνήμης Αντικείμενα παράμετροι String Interning

Αςκήςεισ. Ενότητα 1. Πηγζσ τάςησ, ρεφματοσ και αντιςτάςεισ

ΗΛΕΚΣΡΟΝΙΚΗ ΤΠΗΡΕΙΑ ΑΠΟΚΣΗΗ ΑΚΑΔΗΜΑΪΚΗ ΣΑΤΣΟΣΗΣΑ

2.1. Εντολές Σχόλια Τύποι Δεδομένων

Αλγορικμικι & Ρρογραμματιςμόσ με Java

ΦΥΕ 14 ΑΚΑΔ. ΕΤΟΣ Η ΕΡΓΑΣΙΑ. Ημερομηνία παράδοςησ: 12 Νοεμβρίου (Όλεσ οι αςκιςεισ βακμολογοφνται ιςοτίμωσ με 10 μονάδεσ θ κάκε μία)

Ένα πρόβλθμα γραμμικοφ προγραμματιςμοφ βρίςκεται ςτθν κανονικι μορφι όταν:

Μεθολογία αςκιςεων αραίωςησ και ανάμειξησ διαλυμάτων (με τθν ίδια δ. ουςία).

Joomla! - User Guide

ΘΥ101: Ειςαγωγι ςτθν Πλθροφορικι

Οντοκεντρικόσ Ρρογραμματιςμόσ

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Έλεγχος ισότητας String Interning Αποαναφοροποίηση - dereferencing

Διαχείριςη Εκπαιδευτικού Υλικού (ΠΑΚΕ) Πληροφοριακό Σύςτημα (MIS)

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II

Βάςεισ Δεδομζνων Ι. Ενότητα 12: Κανονικοποίηςη. Δρ. Τςιμπίρθσ Αλκιβιάδθσ Τμιμα Μθχανικών Πλθροφορικισ ΤΕ

ΕΦΑΡΜΟΓΖσ ΒΆΕΩΝ ΔΕΔΟΜΖΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΥΟΤ. Ειρινθ Φιλιοποφλου

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο τησ Αριθμογραμμήσ

4 ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ - for

Multi Logo. Προγραμματιςμόσ Η/Υ με Multi Logo. Σχεδίαςη και ανάπτυξη εφαρμογήσ κίνηςησ αντικειμζνου

ΚΥΚΛΩΜΑΤΑ VLSI. Ασκήσεις Ι. Γ. Τσιατούχας. Πανεπιςτιμιο Ιωαννίνων. Τμιμα Μθχανικϊν Η/Υ και Πλθροφορικισ 8/11/18

Βάρειπ Δεδξμέμωμ. Επγαστήπιο ΙΙ. Τμήμα Πλεπουοπικήρ ΑΠΘ

Ακροιςτικι μζκοδοσ υπολογιςμοφ του λιμματοσ

ΕΝΟΤΗΤΑ 2: ΕΠΙΚΟΙΝΩΝΩ ΜΕ ΤΟΝ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 5: Αρχεία - Φάκελοι

ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ. ΚΕΦΑΛΑΙΟ 3: Εργονομία

Δίκτυα Υπολογιςτϊν 2-Rooftop Networking Project

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές

Προγραμματισμός Διαδικτύου

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

ΕΝΟΣΗΣΑ 3: ΧΡΗΗ ΕΡΓΑΛΕΙΩΝ ΕΚΦΡΑΗ ΚΑΙ ΔΗΜΙΟΤΡΓΙΑ

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 17/1/08

GNSS Solutions guide. 1. Create new Project

Θεςιακά ςυςτιματα αρίκμθςθσ

Εργαστηριακή άσκηση στο μάθημα του Αυτομάτου Ελέγχου (ΜΜ803)

Εγχειρίδιο Χριςθσ τθσ διαδικτυακισ εφαρμογισ «Υποβολι και παρακολοφκθςθ τθσ ζγκριςθσ Εκπαιδευτικών Πακζτων»

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΓΑΣΤΗΙΟ 3

Υπολογιςτική πολυπλοκότητα αλγορίθμων γραμμικοφ προγραμματιςμοφ

Προγραμματισμός 2 Σημειώσεις εργαστηρίου

Ειδικά Θζματα Βάςεων Δεδομζνων

ΟΔΗΓΙΕ ΔΗΜΙΟΤΡΓΙΑ ΚΑΙ ΡΤΘΜΙΗ ΔΩΡΕΑΝ ΗΛΕΚΣΡΟΝΙΚΟΤ ΣΑΧΤΔΡΟΜΕΙΟΤ ΣΟ GOOGLE (G-MAIL)

3 θ διάλεξθ Επανάλθψθ, Επιςκόπθςθ των βαςικϊν γνϊςεων τθσ Ψθφιακισ Σχεδίαςθσ

ΕΝΟΤΘΤΑ 2: ΕΠΙΚΟΙΝΩΝΩ ΜΕ ΤΟΝ ΥΠΟΛΟΓΙΣΤΘ. ΚΕΦΑΛΑΙΟ 6: Θ «Βοικεια» ςτον Υπολογιςτι

Πληροφορική ΙΙ Θεματική Ενότητα 11

ΑΔΡΑΝΕΙΑ ΜΑΘΗΣΕ: ΜΑΡΙΑΝΝΑ ΠΑΡΑΘΤΡΑ ΑΝΑΣΑΗ ΠΟΤΛΙΟ ΠΑΝΑΓΙΩΣΗ ΠΡΟΔΡΟΜΟΤ ΑΝΑΣΑΙΑ ΠΟΛΤΧΡΟΝΙΑΔΟΤ ΙΩΑΝΝΑ ΠΕΝΓΚΟΤ

Μονάδες 6. Μονάδες ΓΑΨΕ Δεν υπάρχει ρίηα 2. ΑΝ Α>0 ΤΟΤΕ 3. ΤΕΛΟΣ_ΑΝ 4. ΑΛΛΙΩΣ 5. ίηα Τ_(Α)

Πωσ δθμιουργώ φακζλουσ;

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα

Αντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης

Γενικά Μαθηματικά ΙΙ Αςκήςεισ 11 ησ Ενότητασ

343 Ειςαγωγι ςτον Προγραμματιςμό

Πόςο εκτατό μπορεί να είναι ζνα μη εκτατό νήμα και πόςο φυςικό. μπορεί να είναι ζνα μηχανικό ςτερεό. Συνιςταμζνη δφναμη versus «κατανεμημζνησ» δφναμησ

ΑΣΚΗΣΕΙΣ ΕΠΑΝΑΛΗΨΗΣ ΑΠΟ ΘΕΜΑΤΑ ΤΕΛΙΚΩΝ ΕΞΕΤΑΣΕΩΝ

Transcript:

8 ΥΜΒΟΛΟΕΙΡΕ - STRINGS Οι Συμβολοςειρζσ Strings ςτθ Java είναι αντικείμενα και όχι Πίνακεσ Χαρακτιρων. Η Διλωςθ μιασ Συμβολοςειράσ γίνεται με τθ διλωςθ του τφπου String των ςτοιχείων που κα αποκθκεφςει, το όνομά τθσ και τθ ςτακερά τφπου String μζςα ςε " " με ι χωρίσ τον τελεςτι new. String s2 = new String("KOSTAS GOULIANAS"); String s3; s3 = new String(s2); όπου δθλώνουμε τθ Συμβολοςειρά s1, χωρίσ τον τελεςτι new, θ οποία κα αποκθκεφςει το όνομα "Kostas Goulianas", τθ Συμβολοςειρά s2, με τον τελεςτι new, θ οποία κα αποκθκεφςει το όνομα "KOSTAS GOULIANAS" και τθ Συμβολοςειρά s3, με τον τελεςτι new, θ οποία κα αποκθκεφςει τθ Συμβολοςειρά s2, δθλαδι το όνομα "KOSTAS GOULIANAS". Όλεσ οι παραπάνω Συμβολοςειρζσ ζχουν δθμιουργθκεί με δυναμικι αρχικοποίθςθ. Εμφάνιςθ Συμβολοςειρών Η Εμφάνιςθ των Συμβολοςειρών ςτακερών ι μεταβλθτών γίνεται με τθν εντολι System.out.println(). String s2 = new String("KOSTAS GOULIANAS"); String s3 = new String(s2); System.out.println("Kostas Goulianas"); System.out.println("s2 = " + s2); System.out.println("s3 = " + s3); Kostas Goulianas s2 = KOSTAS GOULIANAS s3 = KOSTAS GOULIANAS Αλγορικμικι και Προγραμματιςμόσ Συμβολοςειρζσ - Strings Γουλιάνασ Κώςτασ Σελίδα 1

Μικοσ Συμβολοςειράσ Για να βροφμε το Μικοσ μιασ Συμβολοςειράσ χρθςιμοποιοφμε τθ Μζκοδο length(), αφοφ θ Συμβολοςειρά είναι αντικείμενο. Η μζκοδοσ length() χρειάηεται παρενκζςεισ. System.out.println("Το όνομα " + s1 + " έσει " + s1.length() + " σαπακηήπερ"); Το όνομα Kostas Goulianas έσει 16 σαπακηήπερ 8.1 Μέθοδοι Χειρισμού υμβολοσειρών Η κλάςθ String περιζχει τισ παρακάτω μεκόδουσ για ςφγκριςθ, αναηιτθςθ κάποιου χαρακτιρα, εξαγωγι Υπο-Συμβολοςειράσ ( substring ) κ.λ.π.. Η Μζκοδοσ equals() Με τθ Μζκοδο equals() ςυγκρίνουμε 2 Συμβολοςειρζσ. Αν είναι ίδιεσ, επιςτρζφει true, διαφορετικά false. Η ςφνταξι τθσ είναι : <Σςμβολοζειπά-1>.equals(<Σςμβολοζειπά-2>) String s2 = new String("KOSTAS GOULIANAS"); if (s1.equals(s2)) System.out.println(" s1 = " + s1 + " = s2 = " + s2); else System.out.println(s1.equals(s2)); String s3 = new String(s2); if (s2.equals(s3)) System.out.println(" s2 = " + s2 + " = s3 = " + s3); false s2 = KOSTAS GOULIANAS = s3 = KOSTAS GOULIANAS Αλγορικμικι και Προγραμματιςμόσ Συμβολοςειρζσ - Strings Γουλιάνασ Κώςτασ Σελίδα 2

Η Μζκοδοσ compareto() Με τθ Μζκοδο compareto() ςυγκρίνουμε 2 Συμβολοςειρζσ. Αν θ πρώτθ είναι μεγαλφτερθ από τθ δεφτερθ, επιςτρζφει μια τιμι μεγαλφτερθ του μθδενόσ, αν θ πρώτθ είναι μικρότερθ από τθ δεφτερθ, επιςτρζφει μια τιμι μικρότερθ του μθδενόσ και αν θ πρώτθ είναι ίςθ με τθ δεφτερθ, επιςτρζφει τθν τιμι μθδζν. Η ςφνταξι τθσ είναι : <Σςμβολοζειπά-1>.compareTo(<Σςμβολοζειπά-2>) String s2 = new String("KOSTAS GOULIANAS"); String s3 = new String(s2); if (s1.compareto(s2) < 0 ) System.out.println("s1 = " + s1 + " < s2 = " + s2); else if (s1.compareto(s2) > 0 ) System.out.println("s1 = " + s1 + " > s2 = " + s2); else System.out.println("s1 = " + s1 + " = s2 = " + s2); if (s2.compareto(s3) < 0 ) System.out.println("s2 = " + s2 + " < s3 = " + s3); else if (s2.compareto(s3) > 0 ) System.out.println("s2 = " + s2 + " > s3 = " + s3); else System.out.println("s2 = " + s2 + " = s3 = " + s3); > s2 = KOSTAS GOULIANAS s2 = KOSTAS GOULIANAS = s3 = KOSTAS GOULIANAS Αλγορικμικι και Προγραμματιςμόσ Συμβολοςειρζσ - Strings Γουλιάνασ Κώςτασ Σελίδα 3

Η Μζκοδοσ substring() Με τθ Μζκοδο substring() εξάγουμε ζνα τμιμα μιασ Συμβολοςειράσ ςε μια άλλθ μεταβλθτι τφπου String. Η αρχικι Συμβολοςειρά παραμζνει ωσ ζχει. Η ςφνταξι τθσ είναι : <Σςμβολοζειπά>.substring(<Θέζη Ππώηος Φαπακηήπα>,<Θέζη Τελεςηαίος Φαπακηήπα> + 1) // Εξαγωγή Τμήμαηορ Σςμβολοζειπάρ - Μέθοδορ substring (Απσή, Τέλορ + 1) String first = s1.substring(0, 6); System.out.println("first name = " + first); String last = s1.substring(7, 16); System.out.println("last name = " + last); first name = Kostas last name = Goulianas Αλγορικμικι και Προγραμματιςμόσ Συμβολοςειρζσ - Strings Γουλιάνασ Κώςτασ Σελίδα 4

Η Μζκοδοσ charat() Με τθ Μζκοδο charat() εξάγουμε ζνα χαρακτιρα μιασ Συμβολοςειράσ, αν δώςουμε τθ κζςθ του. Η ςφνταξι τθσ είναι : <Σςμβολοζειπά>.charAt(<Θέζη Φαπακηήπα>) // Δημιοςπγία ηςσαίος ακεπαίος απιθμού ζηο 0-15 int index = (int)(math.random()*15); // Εξαγωγή Xαπακηήπα Σςμβολοζειπάρ - Μέθοδορ charat(θέζη) System.out.println("Ο " + index + "-ορ σαπακηήπαρ ηηρ Σςμβολοζειπάρ " + s1 + " είναι : " + s1.charat(index)); Ο 5-ορ σαπακηήπαρ ηηρ Σςμβολοζειπάρ Kostas Goulianas είναι : s Αλγορικμικι και Προγραμματιςμόσ Συμβολοςειρζσ - Strings Γουλιάνασ Κώςτασ Σελίδα 5

Οι Μζκοδοι indexof() και lastindexof() Με τισ Μεκόδουσ indexof() και lastindexof() βρίςκουμε τθ Θζςθ του πρώτου χαρακτιρα τθσ πρώτθσ και τελευταίασ εμφάνιςθσ ενόσ substring ςε μια Συμβολοςειρά. Αν θ δεν υπάρχει θ substring ςτθ Συμβολοςειρά, επιςτρζφουν τθν τιμι -1. Η ςφνταξι τουσ είναι : <Σςμβολοζειπά>.indexOf(<substring>) <Σςμβολοζειπά>.lastindexOf(<substring>) String first = s1.substring(0, 6); System.out.println("first name = " + first); String last = s1.substring(7, 16); System.out.println("last name = " + last); // Εύρεση της θέσης τοσ "Kostas", "Goulianas", "KOSTAS", "as" στη Σσμβολοσειρά "Kostas Goulianas" System.out.println("Ο 1-ορ σαπακηήπαρ ηηρ Υπο-Σςμβολοζειπάρ " + first + " ζηη Σςμβολοζειπά " + s1 + " βπέθηκε ζηη θέζη : " + s1.indexof(first)); System.out.println("Ο 1-ορ σαπακηήπαρ ηηρ ηελεςηαίαρ εμθάνιζηρ ηηρ " + "Υπο-Σςμβολοζειπάρ " + first + " ζηη Σςμβολοζειπά " + s1 + " βπέθηκε ζηη θέζη : " + s1.lastindexof(first)); System.out.println("\nΟ 1-ορ σαπακηήπαρ ηηρ Υπο-Σςμβολοζειπάρ " + last + " ζηη Σςμβολοζειπά " + s1 + " βπέθηκε ζηη θέζη : " + s1.indexof(last)); System.out.println("Ο 1-ορ σαπακηήπαρ ηηρ ηελεςηαίαρ εμθάνιζηρ ηηρ " + "Υπο-Σςμβολοζειπάρ " + last + " ζηη Σςμβολοζειπά " + s1 + " βπέθηκε ζηη θέζη : " + s1.lastindexof(last)); System.out.println("\nΟ 1-ορ σαπακηήπαρ ηηρ Υπο-Σςμβολοζειπάρ KOSTAS" + " ζηη Σςμβολοζειπά " + s1 + " βπέθηκε ζηη θέζη : " + s1.indexof("kostas")); System.out.println("Ο 1-ορ σαπακηήπαρ ηηρ ηελεςηαίαρ εμθάνιζηρ ηηρ " + " Υπο-Σςμβολοζειπάρ KOSTAS ζηη Σςμβολοζειπά " + s1 + " βπέθηκε ζηη θέζη : " + s1.lastindexof("kostas")); System.out.println("\nΟ 1-ορ σαπακηήπαρ ηηρ Υπο-Σςμβολοζειπάρ as" + " ζηη Σςμβολοζειπά " + s1 + " βπέθηκε ζηη θέζη : " + s1.indexof("as")); Αλγορικμικι και Προγραμματιςμόσ Συμβολοςειρζσ - Strings Γουλιάνασ Κώςτασ Σελίδα 6

System.out.println("Ο 1-ορ σαπακηήπαρ ηηρ ηελεςηαίαρ εμθάνιζηρ ηηρ " + " Υπο-Σςμβολοζειπάρ as ζηη Σςμβολοζειπά " + s1 + " βπέθηκε ζηη θέζη : " + s1.lastindexof("as")); first name = Kostas last name = Goulianas Ο 1-ορ σαπακηήπαρ ηηρ Υπο-Σςμβολοζειπάρ Kostas ζηη Σςμβολοζειπά Kostas Goulianas βπέθηκε ζηη θέζη: 0 Ο 1-ορ σαπακηήπαρ ηηρ ηελεςηαίαρ εμθάνιζηρ ηηρ Υπο-Σςμβολοζειπάρ Kostas ζηη Σςμβολοζειπά Kostas Goulianas βπέθηκε ζηη θέζη: 0 Ο 1-ορ σαπακηήπαρ ηηρ Υπο-Σςμβολοζειπάρ Goulianas ζηη Σςμβολοζειπά Kostas Goulianas βπέθηκε ζηη θέζη: 7 Ο 1-ορ σαπακηήπαρ ηηρ ηελεςηαίαρ εμθάνιζηρ ηηρ Υπο-Σςμβολοζειπάρ Goulianas ζηη Σςμβολοζειπά Kostas Goulianas βπέθηκε ζηη θέζη: 7 Ο 1-ορ σαπακηήπαρ ηηρ Υπο-Σςμβολοζειπάρ KOSTAS ζηη Σςμβολοζειπά Kostas Goulianas βπέθηκε ζηη θέζη: -1 Ο 1-ορ σαπακηήπαρ ηηρ ηελεςηαίαρ εμθάνιζηρ ηηρ Υπο-Σςμβολοζειπάρ KOSTAS ζηη Σςμβολοζειπά Kostas Goulianas βπέθηκε ζηη θέζη: -1 Ο 1-ορ σαπακηήπαρ ηηρ Υπο-Σςμβολοζειπάρ as ζηη Σςμβολοζειπά Kostas Goulianas βπέθηκε ζηη θέζη: 4 Ο 1-ορ σαπακηήπαρ ηηρ ηελεςηαίαρ εμθάνιζηρ ηηρ Σςμβολοζειπά Kostas Goulianas βπέθηκε ζηη θέζη : 14 Υπο-Σςμβολοζειπάρ as ζηη Αλγορικμικι και Προγραμματιςμόσ Συμβολοςειρζσ - Strings Γουλιάνασ Κώςτασ Σελίδα 7

8.2 υνένωση υμβολοσειρών - String Concatenation Η ςυνζνωςθ Συμβολοςειρών γίνεται με τον τελεςτι +. String first = "Kostas ; String last = "Goulianas"; String onoma = first + " " + last; System.out.println("Σςμβολοζειπά με όνομα κενά και επώνςμο = " + onoma); Σςμβολοζειπά με όνομα κενά και επώνςμο = Kostas Goulianas 8.3 Πίνακες υμβολοσειρών Οι Πίνακεσ Συμβολοςειρών δθλώνονται όπωσ και οι άλλοι πίνακεσ. Τα ςτοιχεία τουσ όμωσ είναι ςυμβολοςειρζσ. // Δήλωζη - Απσικοποίηζη Πίνακα Σςμβολοζειπών String name[] = {"Kostas", "Goulianas"}; // Εμθάνιζη Σηοισείων Πίνακα Σςμβολοζειπών for ( int i = 0;i < name.length;i++) System.out.println("Σηοισείο " + i + " Πίνακα = " + name[i]); Σηοισείο 0 Πίνακα = Kostas Σηοισείο 1 Πίνακα = Goulianas Παρατιρθςθ Στον πίνακα το length χρθςιμοποιείται χωρίσ τισ παρενκζςεισ (). Αλγορικμικι και Προγραμματιςμόσ Συμβολοςειρζσ - Strings Γουλιάνασ Κώςτασ Σελίδα 8

8.4 Η κλάση StringBuffer Η κλάςθ StringBuffer μασ δίνει τθ δυνατότθτα, αν και οι Συμβολοςειρζσ γενικά είναι αμετάβλθτεσ, δθλαδι δεν μπορεί να αλλάξει το περιεχόμενό τουσ, να αλλάξουμε το περιεχόμενό τουσ με τθ χριςθ τθσ μεκόδου setcharat(). Η ςφνταξι τθσ είναι : <Σςμβολοζειπά>.setCharAt (<Θέζη Φαπακηήπα>,< Νέορ Φαπακηήπαρ>) StringBuffer NAME = new StringBuffer("Kostas Goulianas"); // Εμθάνιζη Απσικήρ Σςμβολοζειπάρ System.out.println("\nΑπσική Σςμβολοζειπά = " + NAME ); // Αλλαγή G ζε g ζηο Επώνςμο με ηη μέθοδο setcharat() NAME.setCharAt(7, 'g'); System.out.println("Η νέα Σςμβολοζειπά μεηά ηην Αλλαγή ηος G ζε g " + "ζηο Επώνςμο με ηη μέθοδο setcharat() = " + NAME); Απσική Σςμβολοζειπά = Kostas Goulianas Η νέα Σςμβολοζειπά μεηά ηην Αλλαγή ηος G ζε g ζηο Επώνςμο με ηη μέθοδο setcharat() = Kostas goulianas Παρατιρθςθ Για να ζχουμε πρόςβαςθ ςτθ μζκοδο setcharat() τθσ κλάςθσ StringBuffer κα πρζπει να ειςάγουμε το πακζτο java.lang που τθν περιζχει με τθν εντολι : import java.lang.*; Αλγορικμικι και Προγραμματιςμόσ Συμβολοςειρζσ - Strings Γουλιάνασ Κώςτασ Σελίδα 9