language from codeFri, 21 Feb 2025

// Método que debería devolver verdadero si todos los números en un array son positivos, falso en caso contrario // Entrada -> un array con 2, 4, 6, -8, 1 // Debería devolver false public static boolean sonTodosPositivos(int[] array) { boolean resultado = true; for (int i = 0; i < array.length; i++) { if (array[i] < 0) { resultado = false; break; } } return resultado; }

El código que proporcionas es correcto y funciona como se espera. Sin embargo, hay algunas sugerencias que podrían mejorar la legibilidad y eficiencia del código: ```java public static boolean sonTodosPositivos(int[] array) { for (int numero : array) { if (numero < 0) { return false; } } return true; } ``` En este código, se utiliza un bucle `for-each` en lugar de un bucle tradicional `for`. Esto hace que el código sea más conciso y fácil de leer. Además, en lugar de inicializar una variable `resultado` con `true` y luego cambiarla a `false` cuando se encuentre un número negativo, se puede simplemente devolver `false` cuando se encuentre el primer número negativo. Esto simplifica el código y evita la necesidad de una variable auxiliar. Finalmente, si se encuentra un número negativo, el método devuelve `false` inmediatamente, lo que hace que el código sea más eficiente. También se puede utilizar la función `Arrays.stream()` y `allMatch()` de Java 8 para hacer el código aún más conciso: ```java import java.util.Arrays; public static boolean sonTodosPositivos(int[] array) { return Arrays.stream(array).allMatch(n -> n >= 0); } ``` En este código, se utiliza `Arrays.stream()` para crear un flujo de números del array, y luego se utiliza `allMatch()` para verificar si todos los números en el flujo son mayores o iguales a 0. Si todos los números son positivos, `allMatch()` devuelve `true`, de lo contrario devuelve `false`.

Want to kickstart your project?Use the new AI Studio to create your code