codice:
public class Prova {
public static void main(String[] args) {
int[] a1 = {-1, 5, 3, 0, 1, 1, -3, 0, -5, 7, -1, 0};
printArray(a1, "a1");
System.out.println("Risultato: " + maxSeq(a1));
int[] a2 = {1, 5, 3, 10, 1, 1, 3};
printArray(a2, "a2");
System.out.println("Risultato: " + maxSeq(a2));
int[] a3 = {-1, -5, -3, 0, -1, -1, -3, 0, -5}; //non va
printArray(a3, "a3");
System.out.println("Risultato: " + maxSeq(a3));
int[] a4 = {1, -5, -3, 10, 1, 1, -3, 0, -5, 7, -1, -20, -2};
printArray(a4, "a4");
System.out.println("Risultato: " + maxSeq(a4));
int[] a5 = {1, -5, -3, 10, 1, 1, -3, 0, -5, 7, -1, -20, -2, 0, -6}; //non va
printArray(a5, "a5");
System.out.println("Risultato: " + maxSeq(a5));
}
public static int maxSeq(int[] a) {
int max = 0;
int att = 0;
int l = a.length; //12
int i = 0;
while(i < l-1) {
if(a[i] <= 0) {
att++;
if(!(a[i+1] <= 0)) {
max = att;
att = 0;
}
i++;
}
else {
i++;
}
}
return max;
}
public static void printArray(int[] a, String name) {
System.out.println();
System.out.println();
System.out.print(name + ": { ");
for(int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
System.out.println("}");
}
}
Più precisamente non va nel caso siano tutti negativi/zeri e nel caso ci siano dei numeri negativi/zero finali..