Esempi di numeri di inversione in un programma Java

December 7

Esempi di numeri di inversione in un programma Java


Java è un linguaggio di programmazione con una ricchezza di classi e metodi che semplificano compiti noiosi e strutture dati complesse utili. Gli esercizi di inversione cifre in un numero intero illustra alcune delle Java di operazioni di base e funzioni utili. Una possibile applicazione di questa procedura è il controllo per palindromi.

Modulo

L'operatore modulo lascia molti nuovi programmatori a grattarsi la testa, perché molte persone non hanno pensato al concetto di un "resto" fin dalla scuola elementare, e linguaggi di programmazione dargli il nome buffo di "modulo". L'operazione di modulo, che restituisce il resto della divisione di due numeri interi, rende facile opera di tagliare una o più cifre fuori la fine di un intero semplicemente utilizzando potenze di dieci per il divisore. Per esempio:

187% 10 restituisce 7
364% 100 restituisce 64

Per invertire le cifre in un numero intero, semplicemente ciclo attraverso ciascuna cifra, utilizzando modulo pop ciascuna cifra largo della fine del numero, divisione e moltiplicazione per spostare le cifre. Per esempio:

int origNum = 123456789
ANDARE
int newNum = 0
ANDARE
while (origNum> 0) {
newNum * = 10
ANDARE
newNum + = origNum% 10
ANDARE
origNum / = 10
ANDARE
}

Quando il ciclo viene completato, newNum conterrà il valore 987654321.

Corda

Le classi String e StringBuffer forniscono funzioni a portata di mano per la conversione di tipi e la manipolazione di stringhe. Usando il metodo inverso di StringBuffer fa invertendo le cifre in un numero intero di lavoro semplice e veloce. Per esempio:

int origNum = 123456789
ANDARE
int newNum = 0
ANDARE
String str = String.valueOf (origNum)
ANDARE
StringBuffer buf = new StringBuffer (str)
ANDARE
str = buf.reverse (). toString ()
ANDARE
newNum = Integer.parseInt (str);

schieramento

Gli array sono abbastanza semplici strutture di dati che ti danno la possibilità di creare un elenco di valori e navigare attraverso di loro. Utilizzare il metodo della classe log10 matematica per contare le cifre, creare un array di interi a tenere una cifra alla ogni indice, e l'uso del modulo e gli altri operatori di base per decostruire e ricostruire il numero.

int origNum = 123456789
ANDARE
int newNum = 0
ANDARE
int count = (origNum == 0)? 1: (int) Math.log10 (origNum) + 1
ANDARE
int [] cifre = new int [count]
ANDARE
int i
ANDARE
for (i = 0; i <contare; i ++) {
cifre [i] = origNum% 10
ANDARE
origNum / = 10
ANDARE
}
for (i = 0; i <contare; i ++) {
newNum * = 10
ANDARE
newNum + = cifre [i]
ANDARE
}

Vettore

La classe Vector è una struttura di dati complessa che contiene un elenco di elementi, cresce e si restringe in modo dinamico, e fornisce metodi per accedere alla lista in un modo simile agli array. A differenza di matrici, vettori può contenere una varietà di diversi oggetti di tipo, ma per questo esempio sarà sufficiente tenere ogni cifra del numero intero. Dal vettori crescere in modo dinamico, ed enumerazioni iterare automaticamente attraverso la lista utilizzando il nextElement () e hasMoreElements () metodi, non c'è bisogno di contare le cifre.

int origNum = 123456789
ANDARE
int newNum = 0
ANDARE
Vector cifre = new Vector ()
ANDARE

while (origNum> 0) {
digits.add (origNum% 10)
ANDARE
origNum / = 10
ANDARE
}

per (enumerazione d = digits.elements (); d.hasMoreElements ();) {
newNum * = 10
ANDARE
newNum + = Integer.parseInt (d.nextElement (). toString ())
ANDARE
}

sommario

Ci sono molte altre classi Java simili a Vector che potrebbero essere esplorati con l'esercizio di inversione numero, ad esempio List, Iterator, Coda, ArrayList e LinkedList. La procedura numero di inversione può essere facilmente scritta come una funzione in modo che possa essere richiamato ripetutamente in programmi interattivi e riutilizzata in più programmi. Implementazione di classi per dimostrare i vari metodi è un ottimo modo per praticare Java Object Oriented Programming tecniche, come le interfacce e l'ereditarietà.