1η Θέλω σε ένα αλφαριθμητικό να αποθηκεύω ενα χαρακτήρα και να τον συγκρίνω με τον επόμενο ή το αντίστροφο(αποθηκεύω χαρακτήρα και να συγκρίνω με τον προηγούμενο). To πρόβλημα είναι οτι με βγάζει εκτός ορίων του String γιατί είτε θα συγκρίνω τη θέση -1 ή μια θέση μετα το τέλος του String.
Η απορία αυτή μου δημιουργήθηκε οταν προσπάθησα να λύσω την δεύτερη περσινή εργασία που ζητάει να τυπώσουμε πόσα γράμματα έχει το String που μας δίνεται και κατόπιν να μετρήσουμε τα διπλά γράμματα.Επίσης να πω οτι τελείως πρόχειρα το διόρθωσα βάζοντας εναν "άκυρο" χαρακτήρα στην αρχή του string και ξεκινώντας το loop απ'το 1.
Code: Select all
while (i < str.length())
{
if (Character.isLetter(str.charAt(i)))
letters++;
if(str.charAt(i-1)==str.charAt(i))
dipla++;
i++;
}
2η Ζητάω απο τον χρήστη να πληκτρολογίσει εναν αριθμό τηλεφώνου και το αποθηκεύω σαν String. Χρησιμοποιώ την StringTokenizer για τους σκοπούς τις άσκησεις. Πως μπορώ να αποθηκέυσω το κάθε token ξεχωριστά εφόσον έτσι :
Code: Select all
while ( tokens.hasMoreTokens() )
System.out.println( tokens.nextToken() );
μου δίνει το επόμενο, με αποτέλεσμα οταν τελειώσει η επανάληψη να έχει αποθηκευμένο το τελευταίο;
3η Σε μια άσκηση (αν έχετε deitel,στην 29.5) μου ζητάει να φτιάξω 4 πίνακε string με όνοματα article, noun, verb και preposition, στον κάθε πίνακα δίνουμε manually 5 λέξεις και με τη βοήθεια της κλάσης Random τυπώνουμε τυχαία λέξεις με την σειρά πινάκων: article, noun, verb, preposition, article και noun. Το προβλημά μου είναι οτι εφόσον ξανατυπώνουμε τους article και noun έχουν τη ίδια τιμή με την πρώτη φορά που τους τυπώσαμε.
Είμαι σίγουρος είναι πολύ απλές οι απαντήσεις απλά (και κλασικά) δε τις βλέπω τώρα
Ευχαριστώ εκ των προτέρων!