Ο χειριστής modulo αφήνει πολλά νέα προγραμματιστές ξύνουν τα κεφάλια τους, επειδή πολλοί άνθρωποι δεν έχουν σκεφτεί την έννοια της " υπόλοιπο " από το δημοτικό σχολείο , και γλώσσες προγραμματισμού δώσει το αστείο όνομα " modulo . " Η λειτουργία modulo , που επιστρέφει το υπόλοιπο της διαίρεσης των δύο ακέραιων αριθμών , καθιστά εύκολο το έργο της κοπής ένα ή περισσότερα ψηφία από το τέλος του ακεραίου απλά χρησιμοποιώντας δυνάμεις του δέκα για το διαιρέτη . Για παράδειγμα :
187 % 10 % επιστρέφει 7364 100 επιστρέφει 64
να αντιστρέψει τα ψηφία σε έναν ακέραιο αριθμό , απλά περάστε μέσα από κάθε ψηφίο , χρησιμοποιώντας modulo για να σκάσει κάθε ψηφίο από το τέλος του αριθμού , διαίρεση και πολλαπλασιασμό να μετατοπίσουν τα ψηφία . Για παράδειγμα :
int origNum = 123456789 ? Int newNum = 0 ? Ενώ ( origNum > 0 ) { newNum * = 10 ? NewNum + = origNum % 10 ? OrigNum /= 10 ? }
Όταν ο βρόχος ολοκληρώνεται , newNum θα κρατήσει την αξία 987654321 .
εικόνων String
Η
η String και StringBuffer τα μαθήματα παρέχουν χρήσιμες λειτουργίες για τη μετατροπή τους τύπους και το χειρισμό strings . Χρησιμοποιώντας αντίστροφη μέθοδο StringBuffer κάνει αντιστροφή των ψηφίων σε έναν ακέραιο γρήγορη και απλή εργασία . Για παράδειγμα : .
Int origNum = 123456789 ? Int newNum = 0 ? String str = String.valueOf ( origNum ) ? StringBuffer buf = νέο StringBuffer ( str ) ? Str = buf.reverse ( ) toString ( ) ? newNum = Integer.parseInt ( str ) ?
Η Array
Η
πίνακες είναι αρκετά απλές δομές δεδομένων που σας δίνουν τη δυνατότητα να δημιουργήσετε μια λίστα τιμών και να πλοηγηθείτε μέσω αυτών. Χρησιμοποιήστε τη μέθοδο τάξη μαθηματικών log10 να μετρήσει τα ψηφία , θα δημιουργήσει μια σειρά ακεραίων για να κρατήσει ένα ψηφίο σε κάθε δείκτη , και να χρησιμοποιούν modulo και άλλων βασικών φορέων να αποδομήσουν και να ανακατασκευάσει τον αριθμό
int origNum = 123456789 ? . Int newNum = 0 ? μετράνε int = ( origNum == 0 ) ; 1 : ( int ) Math.log10 ( origNum ) + 1 ? Int [ ] ψηφία = new int [ μέτρηση ] ? Int i ? Για ( i = 0 ? I <μετράνε ? I + + ) { ψηφία [ i ] = origNum % 10 ? origNum /= 10 ? } for (i = 0 ? i <μετράνε ? i + + ) { newNum * = 10 ? newNum + = ψηφία [ i ] ? }
εικόνων Vector
Η τάξη Vector είναι μια σύνθετη δομή δεδομένων που περιέχει μια λίστα των στοιχείων , αυξάνεται και μειώνεται δυναμικά , και παρέχει μεθόδους για την πρόσβαση στη λίστα με έναν τρόπο παρόμοιο με συστοιχίες . Σε αντίθεση με συστοιχίες , Διανύσματα μπορεί να κρατήσει μια ποικιλία διαφορετικών αντικειμένων τύπου, αλλά για αυτό το παράδειγμα θα κρατήσει απλά κάθε ψηφίο του ακεραίου . Από διανύσματα αναπτύσσεται δυναμικά και Enumerations επαναλάβει αυτόματα στη λίστα , χρησιμοποιώντας το nextElement ( ) και hasMoreElements ( ) μεθόδους , δεν υπάρχει καμία ανάγκη να μετρήσει τα ψηφία
int origNum = 123456789 ? . Int newNum = 0 ? Vector ψηφία = new Vector ( ) ?
ενώ ( origNum > 0 ) { digits.add ( origNum 10%) ? origNum /= 10 ? }
για ( d = Καταμέτρηση digits.elements ( ) ? d.hasMoreElements ( ) ? ) { newNum * = 10 ? newNum + = Integer.parseInt ( d.nextElement ( ) toString ( ) ) .?}
εικόνων Περίληψη
Η
Υπάρχουν πολλές άλλες κλάσεις Java παρόμοιο με φορέα που θα μπορούσε να εξερευνηθεί χρησιμοποιώντας την άσκηση αντιστροφή αριθμό , όπως List, Iterator , ουρά , ArrayList , και LinkedList . Η διαδικασία αντιστροφής αριθμός μπορεί εύκολα να γραφτεί ως συνάρτηση έτσι ώστε να μπορεί να κληθεί επανειλημμένα διαδραστικά προγράμματα και να επαναχρησιμοποιηθούν σε πολλά προγράμματα . Εφαρμογή τάξεις για να καταδείξει τις διάφορες μεθόδους που είναι ένας εξαιρετικός τρόπος για να εξασκηθείτε Java Object Oriented Programming τεχνικές , όπως διεπαφές και κληρονομιά .
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα