Java é uma linguagem de programação poderosa com uma riqueza de classes úteis e métodos que simplificam tarefas tediosas e estruturas de dados complexas. Os exercícios de dígitos de ré em um inteiro ilustra algumas das operações básicas do Java e recursos úteis. Uma possível aplicação deste procedimento é a verificação de palíndromos . Modulo
O operador módulo deixa muitos novos programadores coçando a cabeça , porque muitas pessoas ainda não pensou sobre o conceito de um "resto" desde o ensino fundamental , e linguagens de programação dar-lhe o nome engraçado de "módulo . " A operação de módulo , que retorna o resto da divisão de dois inteiros , facilita o trabalho de cortar um ou mais dígitos fora da extremidade de um inteiro simplesmente usando potências de dez para o divisor. Por exemplo :
187% 10 % 100 7364 retorna retorna 64
para reverter os dígitos em um número inteiro , basta percorrer cada dígito, usando modulo para aparecer cada dígito fora da final do número , divisão e multiplicação para mudar os dígitos. Por exemplo :
int origNum = 123456789 ; int newNum = 0; while ( origNum > 0) { newNum * = 10; newNum + = origNum % 10 ; origNum /= 10; }
Quando o loop termina , newNum vai conter o valor 987654321 .
cordas
The String e StringBuffer classes fornecem funções úteis para a conversão de tipos e manipulação de strings. Usando o método inverso do StringBuffer faz inverter os dígitos em um trabalho rápido e simples inteiro. Por exemplo : .
Int origNum = 123456789 ; int newNum = 0; string str = String.valueOf ( origNum ); StringBuffer buf = new StringBuffer (str ); str = buf.reverse toString () (); newNum = Integer.parseInt (str );
matriz
Arrays são estruturas de dados bastante simples que lhe dão a capacidade de criar uma lista de valores e navegar através deles . Use o método de aula de matemática log10 para contar os dígitos, criar um array de inteiros para realizar um dígito de cada índice , e usar modulo e outros operadores básicos para desconstruir e reconstruir o número
int origNum = 123456789 ; . Int newNum = 0; int count = ( origNum == 0) ? 1: (int) Math.log10 ( origNum ) + 1; int [] digitos = new int [ count] ; int i; for ( i = 0; i < count; i + +) { dígitos [i] = origNum % 10 ; origNum /= 10; } for ( i = 0; i < count; i + +) { newNum * = 10; newNum + = dígitos [i] ;}
Vector
< br >
A classe Vector é uma complexa estrutura de dados que contém uma lista de itens , aumenta e diminui de forma dinâmica, e fornece métodos para acessar a lista de uma forma semelhante a arrays. Ao contrário de matrizes , vetores pode conter uma variedade de diferentes objetos do tipo , mas para este exemplo vai simplesmente segurar cada dígito do número inteiro. Desde Vetores crescer dinamicamente e enumerações iteração automaticamente através da lista usando o nextElement () e hasMoreElements () métodos , não há necessidade de contar os dígitos
int origNum = 123456789 ; . Int newNum = 0; dígitos Vector = 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 () ()); . }
Resumo
Há muitas outras classes Java semelhantes Vector que poderiam ser exploradas usando o exercício número reversão , como List, Iterator , Fila , ArrayList e LinkedList . O procedimento de reversão número pode ser facilmente escrito como uma função para que ele possa ser chamado repetidamente em programas interativos e reutilizados em vários programas. Aulas para demonstrar os vários métodos de implementação é uma excelente maneira de praticar técnicas de Programação Orientada a Objetos em Java , tais como interfaces e herança.