// 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 res = true; for (int i = 0; i < array.length; i++) { if (array[i] < 0) { res = false; } } return res; }
El código que proporcionas es correcto para determinar si todos los números en un array son positivos. Sin embargo, hay una forma más eficiente de escribirlo utilizando la función `Arrays.stream()` y `allMatch()` de Java 8, que permite verificar si todos los elementos de un array satisfacen una condición. Aquí te muestro la versión simplificada: ```java import java.util.Arrays; public class Main { public static boolean sonTodosPositivos(int[] array) { return Arrays.stream(array).allMatch(n -> n >= 0); } public static void main(String[] args) { int[] array = {2, 4, 6, -8, 1}; System.out.println(sonTodosPositivos(array)); // false } } ``` En este código, `Arrays.stream(array)` crea un flujo de números del array, y `allMatch(n -> n >= 0)` verifica si todos los números en el flujo son mayores o iguales a 0. Si todos los números son positivos, el método devuelve `true`; de lo contrario, devuelve `false`. Si no puedes utilizar Java 8, puedes mantener el código original, que es correcto y fácil de entender.