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

Hola:

Es nivel básico (sólo sintaxis de java y no hay que saber mucho java para hacerlo, solo bucles, if, arrays y poco más). Pero aunque el nivel de java necesario para hacerlo sea básico, la complejidad puede estar (como en este caso), en pensar el algoritmo. Un algoritmo puede ser muy complejo de pensar aunque luego se escriba con un java básico.

Algunas pistas. Veo que tienes todo un poco liado y con algunos errores que va a ser difícil solucionar. Por ejemplo, la mayoría de las variables que tienes declaradas (como cont, z, separar....) deberían estar declaradas dentro del bucle for y no fuera (o al menos, inicializarlas cada vez en el bucle). Estas variables son para cada número que quieras probar y no para todos inicializadas una única vez. La comparación que haces para saber si las cifras son distintas tampoco está bien, sólo comparas dos cifras y la variable imprimir, como las otras, solo la inicializas una vez al principio, por lo que compararías cifra1 y cifra2 del primer número, cifra3 y cifra4 del segundo número y así sucesivamente. Para evitar IndexOutOfBounds imagino que has puesto el int[] separar = new int[leerNumero*2].

Mi consejo es que vayas por partes. Intenta hacer un método o trozo de código que dado un número te diga si tiene o no cifras repetidas. Algo así

Código Java:
Ver original
  1. public boolean tieneCifrasRepetidas (int numero) {
  2.    // aquí tu código
  3. }

teniendo este método es fácil hacer el resto sin liarse mucho. ¿Imagino que lo de los métodos lo habeis dado?. Si no es así, haz el programa primero para que dado un número te diga si tiene o no cifras repetidas (pides el número y escribes en pantalla si las tiene o no.

Una vez que tengas claro el código que hace eso, sólo tienes que meterlo tal cual en un bucle para cada número que quieras comprobar.

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Última edición por chuidiang; 16/11/2014 a las 12:06