Separar números
Hola amigos, mi nombre es MiKe y quiero estrenar mi cuenta publicando en este blog.
Buscando en mi PC, encontré un programa que realicé cuando apenas estaba me iniciaba en JAVA, la propuesta del problema era del libro de Deitel. En la cual se pide que al teclear un numero de 5 digitos, este muestre los números separados. Por ejemplo si escribes 13573, se debe desplegar: 1 3 5 7 3. Estuve buscando ayuda por Internet y no encontré. Y resulta que el problema era mas de matemáticas que de programación. A continuación les mostraré como resolverlo matemáticamente y posteriormente el código fuente.
La clave esta en obtener el residuo del numero dividido entre 10, y nos dará como resultado el quinto dígito del número tecleado.
Para obtener el cuarto dígito, debemos dividir el numero original entre diez y hacer la misma operación: obtener el residuo del numero dividido entre 10. Como son 5 dígitos, haremos 5 veces la operación.
Si tengo 13573
quintodigito = 13573%10 y el resultado es 3(residuo)
13573/10 = 1357
cuartodigito = 1357%10 y el resultado es 7
1357/10 = 135
tercerdigito = 135%10 y el resultado es 5..........
Me despido y les deseo éxito en todo. Les dejo el código fuente. Lo probé en netbeans y corrió bien.
saludos........
- mxmike's blog
- Inicie sesión o regístrese para enviar comentarios
wtf?
no entiendo la finalidad de este ejemplo, ¿qué estás tratando de buscar? ¿¿los miles, centenas, decenas ?? o simplemente separar los digitos de un número?
Ejercicio
Es un simple ejercicio. Hay varias maneras de resolverlo. Una es la que publicaron aquí; se me ocurren otras como hacer un ciclo para ir tomando el módulo 10 y guardarlo en un arreglo, dividir el número entre 10 y seguir hasta que el número sea menor a 10, luego imprimir los números del arreglo (así funciona sin importar cuántos dígitos haya).
Otra manera es convertir el número a string y luego un ciclo por los caracteres de la cadena, imprimiendo el charAt() con la posición de la iteración.
Supongo que sirve para ver qué solución implementa cada quién, lo cual puede tomarse como una muestra de sus habilidades como programador, no solamente en el manejo del lenguaje Java sino en este caso en particular para abstraer un problema e implementar una solución que puede resolver solamente el problema específico que se planteó, o que resuelva otros problemas similares (sin tratar de sobregeneralizar; alguien que se vaya a usar BigInteger porque piensa que el int le queda chico tal vez exagera un poco).
voto por charAt(i);
voto por charAt(i); jejjejeje mas facil mas sencillo menos codigo mas limpio...
excelente ejercicio
ahi va mi aporte con recursion ... le tengo que pasar un argumento adicional a la funcion para que se vaya acumulando el resultado.
demasiado código
Si el objetivo solo es imprimirlos separados, ¿Para qué meter el tema matemático?
De hecho
Realmente me perdi cuando empezo con las divisiones, que no son necesarias pero es algo curioso, aunque obivamente esta solución no es la mas rapida y supongo que el libro queria algo como la solución de simplemente concatenar y agregar un espacio.
@jesusperales Solo por
@jesusperales Solo por curiosidad, ¿Cómo encontraste esta pregunta?
Re: separar números
¿Qué hay de usar una expresión regular? Ejemplo:
~~~
Me gusta más la respuesta de
Me gusta más la respuesta de marcosaw ( de hace dos años. De nuevo como dan con estas preguntas?)
Para psss como Java 8 es lo cool ahora