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.
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.
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.
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.
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:
/** * 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