// 2 pruebas unitarias // Método que debería devolver la posición de un número en el array // Entrada -> un array: {4, 9, 7, 2} y valor_buscado: 7 // Debería devolver 2 // Entrada -> un array: {4, 9, 7, 2} y valor_buscado: 5 // Debería devolver -1 (no encontrado) public static int buscarPosNumero(int[] array,int valor_buscado){ for (int i = 1; i < array.length; i++) { if (array[i] != valor_buscado) { i++; res= i; break; } } return res; }
Hay varios problemas en el código que te proporcionan. Aquí te dejo una versión corregida y mejorada del método `buscarPosNumero`: ```java public static int buscarPosNumero(int[] array, int valor_buscado) { for (int i = 0; i < array.length; i++) { if (array[i] == valor_buscado) { return i; // Devuelve la posición del valor encontrado } } return -1; // Devuelve -1 si el valor no se encuentra en el array } ``` Aquí hay algunas razones por las que he realizado los cambios: 1. **Iniciación de la variable `res`**: En el código original, la variable `res` no se inicializa antes de ser utilizada. En la versión corregida, no es necesario utilizar una variable auxiliar, ya que podemos devolver directamente la posición del valor encontrado. 2. **Condición de parada**: En el código original, la condición de parada es `i < array.length`, lo que significa que se comienza a buscar desde la segunda posición del array (índice 1). En la versión corregida, la condición de parada es `i < array.length`, lo que significa que se comienza a buscar desde la primera posición del array (índice 0). 3. **Comparación**: En el código original, se compara `array[i] != valor_buscado`, lo que significa que se busca el primer valor que no sea igual al valor buscado. En la versión corregida, se compara `array[i] == valor_buscado`, lo que significa que se busca el primer valor que sea igual al valor buscado. 4. **Devolver la posición**: En el código original, se utiliza `res = i` y luego se devuelve `res`. En la versión corregida, se devuelve directamente la posición del valor encontrado. Con esta versión corregida, el método `buscarPosNumero` debería funcionar correctamente y devolver la posición del valor buscado en el array, o -1 si el valor no se encuentra en el array.