// Método que debería devolver la cantidad de números mayores que un umbral en un array // Entrada -> un array: {12, 5, 15, 10, 20} y umbral: 10 // Debería devolver 3 public static int contarMayoresQueUmbral(int[] array, int umbral) { int contador = 0; for (int i = 1; i < array.length; i++) { if (array[i] >= umbral) { contador+=2; } } return contador; }
El método que has proporcionado no está funcionando correctamente. El problema radica en que estás incrementando el contador en 2 cada vez que encuentras un número mayor o igual al umbral, en lugar de incrementarlo en 1. Además, estás empezando a recorrer el array desde la segunda posición (índice 1), lo que significa que estarás perdiendo el primer elemento del array. Aquí te dejo la corrección del método: ```java public static int contarMayoresQueUmbral(int[] array, int umbral) { int contador = 0; for (int i = 0; i < array.length; i++) { if (array[i] > umbral) { contador++; } } return contador; } ``` En este código, estamos recorriendo el array desde la primera posición (índice 0) hasta la última posición. Cuando encontramos un número mayor que el umbral, incrementamos el contador en 1. Si queremos contar los números mayores o iguales al umbral, simplemente debemos cambiar la condición del if a `array[i] >= umbral`. Aquí te dejo un ejemplo de uso del método: ```java public static void main(String[] args) { int[] array = {12, 5, 15, 10, 20}; int umbral = 10; int contador = contarMayoresQueUmbral(array, umbral); System.out.println("Hay " + contador + " números mayores que " + umbral + " en el array."); } ``` En este ejemplo, el método `contarMayoresQueUmbral` devuelve 3, porque hay 3 números mayores que 10 en el array: 12, 15 y 20.