Ver Mensaje Individual
  #9 (permalink)  
Antiguo 17/11/2014, 07:38
Avatar de chuidiang
chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 3 meses
Puntos: 454
Respuesta: Duda Hacer que no se repita numeros

Hola:

Como te comento, tienes un poco de lío. Estás metiendo todas las cifras de todos los números en int[] separar = new int[leerNumero*9999], por lo que el 1 estaría en separar[0], el 2 en separar[1] y así sucesivamente, hasta el 10 que tendría el 1 en separar[9] y el 0 en separar[10] y así sucesivamente. Es decir, todo un lío para saber dónde empieza y acaba cada número.

Yo haría lo siguiente (pseudocodigo)

Código Java:
Ver original
  1. pide numero final al usuario
  2.  
  3. para cada numero desde 1 hasta numero final
  4.  
  5.    calcula longitud de numero (ya lo haces convirtiendo a String)
  6.    crea un array cifras de esa longitud
  7.    mete las cifras del numero en el array
  8.    haz la comprobacion de las cifras con los dos bucles que te dije (si solo hay una cifra, no entrará en el bucle más interno).

de esta forma queda mucho mas simple, no necesitas un array separar gigantesto.

y en genera, cuando tengas un problema intenta partirlo en problemas mas pequeños. Tu problema original (el enunciado) tiene un problema más pequeño que deberías resolver antes y que te comenté, que es saber si un número tiene cifras repetidas. Y si me apuras, de este puedes sacar otro más pequeño, separar un número en sus cifras. Si resuelves bien el problema pequeño, es más fácil ir aproximándose a la solución final.

Se bueno.
__________________
Apuntes Java
Wiki de Programación