Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

  • 2 εβδομάδες αργότερα...
Δημοσ.

Θα ήθελα να κάνω και γω μια ερώτηση. Ίσως είναι πολύ λεπτομέρεια αλλά από το λίγο που έψαξα δε μπόρεσα να βρω κάπου που να εξηγεί πως προκύπτει το αποτέλεσμα της compareTo() όταν το ένα string είναι μικρότερο ή μεγαλύτερο του άλλου δηλαδή πως προκύπτει αυτός ο αριθμός που είναι μεγαλύτερος ή μικρότερος του 0. Στα περισσότερα απλώς λέει για την χρήση της compareTo ότι απλώς αν πχ έστω s1 και s2 string τότε s1.compareTo(s2) επιστρέφει >0 αν το s1 μεγαλύτερο του s2,0 αν είναι ίσα και λοιπά.

Το ερώτημα μου είναι ότι πχ το "abc".compareTo("abg") επιστρέφει -4. Η διαφορά είναι στο 3ο γράμμα των string και επειδή το c<g για αυτό και το - . Μέχρι εδώ οκ! Αλλά το 4 από που προκύπτει. Στο βιβλίο που διαβάζω λέει ότι εξαρτάται από το offset των 2 γραμμάτων που διαφέρουν αλλά δε το πολυκαταλαβαίνω. 

Σας ευχαριστώ!!

 

 

PS: ίσως σημαίνει ότι διαφέρουν οι κωδικοί ASCII τους κατά 4; 

Δημοσ.

Θα ήθελα να κάνω και γω μια ερώτηση. Ίσως είναι πολύ λεπτομέρεια αλλά από το λίγο που έψαξα δε μπόρεσα να βρω κάπου που να εξηγεί πως προκύπτει το αποτέλεσμα της compareTo() όταν το ένα string είναι μικρότερο ή μεγαλύτερο του άλλου δηλαδή πως προκύπτει αυτός ο αριθμός που είναι μεγαλύτερος ή μικρότερος του 0. Στα περισσότερα απλώς λέει για την χρήση της compareTo ότι απλώς αν πχ έστω s1 και s2 string τότε s1.compareTo(s2) επιστρέφει >0 αν το s1 μεγαλύτερο του s2,0 αν είναι ίσα και λοιπά.

 

Το ερώτημα μου είναι ότι πχ το "abc".compareTo("abg") επιστρέφει -4. Η διαφορά είναι στο 3ο γράμμα των string και επειδή το c<g για αυτό και το - . Μέχρι εδώ οκ! Αλλά το 4 από που προκύπτει. Στο βιβλίο που διαβάζω λέει ότι εξαρτάται από το offset των 2 γραμμάτων που διαφέρουν αλλά δε το πολυκαταλαβαίνω. 

 

Σας ευχαριστώ!!

 

 

PS: ίσως σημαίνει ότι διαφέρουν οι κωδικοί ASCII τους κατά 4; 

Ναι συγκρίνει έναν-έναν χαρακτήρο με τον ASCII κωδικό τους και προκύπτει αυτό το αποτέλεσμα.

  • Like 1

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...