Page 1 of 1

Τύπωμα ειδικών χαρακτήρων στην Java

Posted: Tue Aug 14, 2007 11:31 am
by Luke
Γνωρίζει κανείς αν γίνεται να τυπώσεις με κάποιο τρόπο ειδικούς χαρακτήρες (κενά, αλλαγές γραμμής, χαρακτήρες tab) στην κονσόλα όταν τρέχεις ένα πρόγραμμα Java; Σκέφτομαι κάτι σαν το εργαλείο που έχει το microsoft word (αυτό που ενεργοποιείται με το κουμπί που έχει σαν εικονίδιο ένα "ανάποδο P"). Θα με βοηθούσε πολύ στο debugging ενός προγράμματος.

Δεν γνωρίζω εκ των προτέρων πού βρίσκεται το κενό ώστε να το προσθέτω εγώ όπου θέλω στη System.out.println(). Αυτό που κάνω είναι να παίρνω μια τιμή από ένα hashtable και να θέλω να ελέγχω αν π.χ. τελειώνει με χαρακτήρα κενού.

Posted: Tue Aug 14, 2007 12:11 pm
by rapadder
Οι ειδικοί χαρακτήρες δεν εμφανίζονται. Μπορείς να κάνεις το απλό:
if (c==ειδικός χαρακτήρας) System.out.println("Eidikos xaraktnras tade");
Όταν πάς να τυπώσεις έναν ειδικό χαρακτήρα, π.χ. την αλλαγή γραμμής, τότε απλά η γραμμή εξόδου θα αλλάξει γραμμή. Δηλαδή όταν ο ειδικός χαρακτήρας τυπώνεται, απλά εκτελείται.

Posted: Tue Aug 14, 2007 2:32 pm
by Luke
Δεν ξέρω κατά πόσο κάνει στην περίπτωσή μου αυτό...
Με αυτή τη λύση δε θα πρέπει να κάνω κάτι σαν tokenizing για να βρίσκω πότε φτάνω σε ειδικό χαρακτήρα;

-------------------------------------------------------

Δεν πειράζει. Βρήκα ένα "μπακαλίστικο" τρόπο για να κάνω τη δουλειά μου. Επειδή τα κενά βρίσκονταν είτε στην αρχή είτε στο τέλος, αυτό που κάνω είναι να τυπώνω ένα δικό μου χαρακτήρα (π.χ. μια τελεία) είτε στην αρχή είτε στο τέλος αντίστοιχα χωρίς να υπάρχει κενό κι έτσι αν τυπώνεται π.χ. και κενό μεταξύ της τελείας και της λέξης καταλαβαίνω αν υπάρχει αυτός ο ειδικός χαρακτήρας.

Posted: Tue Aug 14, 2007 3:12 pm
by rapadder
Ναι. Μάλλον θα χρειστεί να βάλεις σε μια λίστα (Vector) όλους τους ειδικούς χαρακτήρες και να ελέγχεις κάθε φορά αν ο χαρακτήρας (που προσπελάζεις) περιέχεται στο Vector.