Java is een krachtige programmeertaal met een schat aan bruikbare klassen en methoden die vervelende taken en complexe data structuren te vereenvoudigen . De oefeningen van het omkeren van cijfers in een geheel getal illustreert een aantal van Java's basisbewerkingen en handige functies . Een mogelijke toepassing van deze procedure is het controleren voor palindromen . Modulo De modulo operator laat vele nieuwe programmeurs achter hun oren krabben , omdat veel mensen hebben niet nagedacht over het concept van een " restant " sinds de lagere school, en programmeertalen geef het de grappige naam van " modulo . " De modulo operatie, die de rest van de deling van twee getallen terugkeert Maakt de hakken van een of meer cijfers van het uiteinde van een integer gewoon met behulp tiende machten van de deler . Bijvoorbeeld : 187 % 10 % 100 7364 keert terug 64 Om de cijfers te keren in een geheel getal , gewoon lus door elk cijfer , met behulp van modulo aan elk cijfer, pop uit het einde van het nummer , delen en vermenigvuldigen om de cijfers te verschuiven . Bijvoorbeeld : int origNum = 123456789 ; int Newnum = 0 ; terwijl ( origNum > 0 ) { Newnum * = 10 ; Newnum + = origNum % 10 ; origNum /= 10 ; } Wanneer de lus is voltooid , zal Newnum de waarde 987654321 houden . String de String en StringBuffer klassen bieden handige functies voor het omzetten van soorten en manipuleren van strings . Met behulp van omgekeerde methode StringBuffer maakt het omkeren van de cijfers in een integer snel en eenvoudig werk . Bijvoorbeeld : . 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 zijn vrij eenvoudige datastructuren die geven je de mogelijkheid om een lijst met waarden te creëren en navigeer doorheen . Gebruik de wiskunde klasse log10 methode om de cijfers te tellen , een array van integers bij elke index een cijfer vast te houden , en te gebruiken modulo en andere elementaire operatoren te deconstrueren en reconstrueren het aantal int origNum = 123456789 ; . Int Newnum = 0 ; int count = ( origNum == 0 ) ? 1 : ( int ) Math.log10 ( origNum ) + 1 ; int [ ] digits = new int [ count ] ; int i; for ( i = 0 ; i < count ; i + + ) { cijfers [ i ] = origNum % 10 ; origNum /= 10 ;} for ( i = 0 ; i < count ; i + + ) { Newnum * = 10 ; Newnum + = cijfers [ i ] ; } Vector < br > klasse Vector is een complexe datastructuur die een lijst met items bevat , groeit en krimpt dynamisch en werkwijzen voor toegang tot de lijst in een wijze vergelijkbaar met arrays . In tegenstelling tot arrays , kunnen vectoren een verscheidenheid van verschillende typen objecten te houden , maar voor dit voorbeeld zal het eenvoudig houden ieder teken van het getal . Sinds Vectoren groeit dynamisch en Opsommingen automatisch doorlopen van de lijst met de nextElement ( ) en hasMoreElements ( ) methoden , is er geen noodzaak om de cijfers tellen int origNum = 123456789 ; . Int Newnum = 0 ; Vector cijfers = new Vector ( ) ; terwijl ( origNum > 0 ) { digits.add ( origNum % 10 ) ; origNum /= 10 ; } voor ( opsomming d = digits.elements ( ) ; d.hasMoreElements ( ) ; ) { Newnum * = 10 ; . Newnum + = Integer.parseInt ( d.nextElement ( ) toString ( ) ) ; } Samenvatting Er zijn vele andere Java-klassen vergelijkbaar vector die kunnen worden bestudeerd met behulp van het aantal omkering oefening , zoals List , Iterator , Queue , ArrayList , en LinkedList . Het aantal omkering procedure kan gemakkelijk worden geschreven als een functie , zodat het herhaaldelijk kan worden genoemd in interactieve programma's en hergebruikt in meerdere programma's . Uitvoering klassen om de verschillende methodes aan te tonen is een uitstekende manier om Java Object Oriented Programming technieken , zoals interfaces en overerving oefenen .
|