Java ist eine leistungsfähige Programmiersprache mit einer Fülle von nützlichen Klassen und Methoden, die lästigen Aufgaben und komplexe Datenstrukturen zu vereinfachen. Die Übungen der Umkehrung Ziffern in einer ganzen Zahl zeigt einige grundlegende Operationen Javas und nützliche Features . Eine mögliche Anwendung dieser Verfahren ist für Palindrome Überprüfung . Modulo
Die Modulo-Operator lässt viele neue Programmierer am Kopf kratzen , weil viele Menschen nicht über das Konzept eines " Rest " seit der Grundschule gedacht haben , und Programmiersprachen geben ihm die lustigen Namen " Modulo . " Die Modulo-Operation , die den Rest der Division zweier ganzer Zahlen gibt , macht einfache Arbeit von Hacken eine oder mehrere Ziffern aus dem Ende einer ganzen Zahl einfach mit Zehnerpotenzen für den Divisor . Zum Beispiel:
187% 10 % 100 7364 kehrt kehrt 64
Um die Ziffern in einer ganzen Zahl umzukehren, einfach eine Schleife durch jede Ziffer mit Modulo , um jede Ziffer aus dem Ende der Nummer Pop , Division und Multiplikation , um die Ziffern zu verschieben. Zum Beispiel:
int origNum = 123456789 ; int newNum = 0; while ( origNum > 0) { newNum * = 10; newNum + = origNum % 10; origNum /= 10; }
< p > Wenn die Schleife beendet ist, wird newNum halten den Wert 987654321 .
String
die String und StringBuffer Klassen bieten praktische Funktionen zur Umwandlung von Typen und Manipulieren von Strings . Mit StringBuffer die umgekehrte Verfahren ermöglicht die Umkehrung der Ziffern in einem ganzzahligen schnelle und einfache Arbeit . Zum Beispiel: .
Int origNum = 123456789 ; int newNum = 0; String str = String.valueOf ( origNum ); StringBuffer buf = new StringBuffer (str) ; str = buf.reverse () toString (); newNum = Integer.parseInt (str) ;
Array
Arrays sind recht einfach Datenstrukturen , die Ihnen die Möglichkeit, eine Liste von Werten erstellen und navigieren durch sie hindurch. Verwenden Sie den Mathe-Unterricht log10 Methode, um die Ziffern zu zählen, ein Array von ganzen Zahlen , um eine Stelle bei jedem Index zu halten, und verwenden Modulo und andere grundlegende Operatoren zu dekonstruieren und rekonstruieren die Anzahl
int origNum = 123456789 ; . Int newNum = 0; int count = ( origNum == 0) ? 1: (int) Math.Log10 ( origNum ) + 1; int [ ] = new int Ziffern [count] ; int i; for (i = 0; i < count; i + +) { Ziffern [i] = origNum % 10 ; origNum /= 10; } for (i = 0; i < count; i + +) { newNum * = 10; newNum + = Ziffern [i] ;}
Vector
< br >
Die Vector-Klasse ist eine komplexe Datenstruktur, die eine Liste von Elementen hält , wächst und schrumpft dynamisch , und stellt Methoden für den Zugriff auf die Liste in einer ähnlichen Weise wie Arrays. Im Gegensatz zu Arrays können Vektoren halten eine Vielzahl von verschiedenen Objekten des Typs , aber für dieses Beispiel wird es einfach halten jede Ziffer der Zahl . Da Vektoren dynamisch wachsen und Aufzählungen automatisch durch die Liste zu durchlaufen mit dem nextElement () und hasMoreElements ()-Methoden , gibt es keine Notwendigkeit , um die Ziffern zu zählen
int origNum = 123456789 ; . Int newNum = 0; Vector Ziffern = new Vector () ;
while ( origNum > 0) { digits.add ( origNum % 10); origNum /= 10; }
for ( Enumeration d = digits.elements ( ); d.hasMoreElements (); ) { newNum * = 10; . newNum + = Integer.parseInt ( d.nextElement () toString () );}
Zusammenfassung
Es gibt viele andere Java-Klassen ähnlich Vector , die erforscht unter der Nummer Umkehrung Übung, wie List, Iterator , Queue , ArrayList und LinkedList werden konnte. Die Zahl Umkehr Verfahren kann leicht als eine Funktion geschrieben werden, so kann es immer wieder in interaktiven Programmen aufgerufen und wiederverwendet werden in mehreren Programmen . Implementieren von Klassen , um die verschiedenen Methoden zu demonstrieren ist ein ausgezeichneter Weg, um Java Object Oriented Programming Techniken, wie Schnittstellen und Vererbung zu üben.