Java er et kraftfuldt programmeringssprog med et væld af nyttige klasser og metoder , der forenkler kedelige opgaver og komplekse datastrukturer . Øvelserne ved at vende cifre i et heltal illustrerer nogle af Javas grundlæggende operationer og nyttige funktioner . En mulig anvendelse af denne procedure er at kontrollere for palindromer . Modulo
modulo operatøren forlader mange nye programmører kradse deres hoveder , fordi mange mennesker ikke har tænkt over begrebet " resten ", da folkeskolen, og programmeringssprog give det sjove navn " modulo . " Modulo operation , som returnerer resten af delingen af to heltal , gør let arbejde af snitning et eller flere cifre fra slutningen af et heltal blot ved hjælp beføjelser ti for divisor . For eksempel : Hej
187 % 10 returnerer 7364 % 100 returnerer 64
For at vende cifrene i et heltal, simpelthen sløjfe gennem hvert ciffer , ved hjælp af modulo at pop hvert ciffer fra slutningen af det antal , division og multiplikation at flytte cifre. For eksempel : Hej
int origNum = 123456789 , int newNum = 0 , mens ( origNum > 0) { newNum * = 10; newNum + = origNum % 10; origNum /= 10 ;}
< p > Når løkken er færdig, vil newNum holde værdien 987654321 .
String
snoren og StringBuffer klasser giver nyttige funktioner til konvertering af typer og manipulere strenge. Brug StringBuffer s omvendte metode gør vende cifrene i et heltal hurtig og enkel arbejde. For eksempel: .
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 er forholdsvis simple datastrukturer , der giver dig mulighed for at oprette en liste over værdier og navigere gennem dem . Brug matematik klasse log10 metode til at tælle cifrene , skabe en række heltal til at holde et ciffer på hvert indeks og bruge modulo og andre basale operatører at dekonstruere og rekonstruere antallet
int origNum = 123456789 ; . Int newNum = 0; int count = ( origNum == 0) ? 1: ( int ) Math.log10 ( origNum ) + 1 , int [ ] cifre = new int [ count ] int i; for (i = 0; i < count , i + +) { cifre [i] = origNum % 10 , origNum /= 10 ;} for (i = 0; i < count , i + +) { newNum * = 10; newNum + = cifre [i] ;}
Vector
< br >
Vector klassen er en kompleks datastruktur, der indeholder en liste over emner , vokser og krymper dynamisk , og fremgangsmåder til at få adgang til listen på en måde svarende til arrays . I modsætning til arrays , kan Vektorer holde en række forskellige typen objekter, men i dette eksempel vil det blot holde hvert ciffer i heltal. Da Vektorer vokser dynamisk og tællinger automatisk gentage gennem listen ved hjælp af nextElement () og hasMoreElements () metoder , er der ingen grund til at tælle cifrene
int origNum = 123456789 ; . Int newNum = 0; Vector cifre = new Vector ();
while ( origNum > 0) { digits.add ( origNum % 10), origNum /= 10 ;}
for ( Tælling d = digits.elements ( ) d.hasMoreElements (); ) { newNum * = 10; . newNum + = Integer.parseInt ( d.nextElement () toString ()); }
Summary
p Der er mange andre Java-klasser ligner Vector , der kunne udforskes ved hjælp af antallet tilbageførsel motion, såsom List, Iterator , Queue , ArrayList og LinkedList . Antallet vending procedure kan let skrives som en funktion, så det kan kaldes gentagne gange i interaktive programmer og genbruges i flere programmer . Implementering klasser at demonstrere de forskellige metoder er en glimrende måde at øve Java objektorienteret programmering teknikker, såsom interfaces og arv .