Hola a todos, hoy os voy a explicar como podemos saber si un número repetido en un array en Java.
Cuando queremos que un array no tenga valores duplicados, debemos comprobar valor a valor si existe el nuevo valor.
Empecemos pidiendo un número que será el que comprobemos en el array.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import java.util.Scanner; public class ComprobarNumerosRepetir { public static void main(String[] args) { Scanner sn = new Scanner(System.in); System.out.println("Escribe un número"); int num = sn.nextInt(); } } |
Ahora crearemos el array que comprobaremos si existe el número.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
import java.util.Scanner; public class ComprobarNumerosRepetir { public static void main(String[] args) { Scanner sn = new Scanner(System.in); System.out.println("Escribe un número"); int num = sn.nextInt(); int[] array = {20, 30, 10, 60, 40, 50}; } } |
Te dejo un manual sobre los arrays en Java:
Ahora, debemos recorrer el array y comprobar valor a valor si el número existe. Una vez que lo hayamos encontrado, no tiene sentido que sigamos recorriendo el array, por lo que con un simple booleano podemos terminar el bucle.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
import java.util.Scanner; public class ComprobarNumerosRepetir { public static void main(String[] args) { Scanner sn = new Scanner(System.in); System.out.println("Escribe un número"); int num = sn.nextInt(); int[] array = {20, 30, 10, 60, 40, 50}; boolean existe = false; for (int i = 0; i < array.length && !existe; i++) { if(array[i] == num){ existe = true; } } } } |
Al final, solo tenemos que indicar si existe o no.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
import java.util.Scanner; public class ComprobarNumerosRepetir { public static void main(String[] args) { Scanner sn = new Scanner(System.in); System.out.println("Escribe un número"); int num = sn.nextInt(); int[] array = {20, 30, 10, 60, 40, 50}; boolean existe = false; for (int i = 0; i < array.length && !existe; i++) { if(array[i] == num){ existe = true; } } if(existe){ System.out.println("El número " + num + " existe en el array"); }else{ System.out.println("El número " + num + " no existe en el array"); } } } |
También te lo dejo en función:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
/** * Indica si un elemento dentro de un array esta repetido * * @param array array a comprobar * @param num numero a comprobar * @return si hay o no algun elemento repetido */ public static boolean elementoRepetido(int[] array, int num) { // Recorremos el mismo array for (int i = 0; i < array.length; i++) { // Si coincide significa que hay un elemento repetido if (array[i] == num) { return true; } } // No hay un elemento repetido return false; } |
Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.
Deja una respuesta