Si scusami, allora Score è una classe così composta:
codice:
public class Score { List array;
public int dim;
int a[];
Score(int dim, int a[]){
this.dim=dim;
this.a = new int [dim];
this.a=a;
}
Il metodo taglia va a diminuire ogni volta la dimensione dell'array dello Score e a fare decrementare ogni valore dell'array stesso, fino a che non ci saranno tutti 0, e questo è quello che controlla il ceck del for appunto:
codice:
public boolean check(Score s){
boolean res=true;
for(int i=0;i<s.dim;i++){
if(s.a[i]>0) return false;
}
return res;
}
ora ho capito il problema, dovevo mettere infatti il for così giuto:
codice:
for(int i=1;!check((Score)array.get(i-1));i++){.....}
ma mi da un errore qua che non capisco:
codice:
Exception in thread "JavaFX Application Thread" java.lang.ArrayIndexOutOfBoundsException: 5
public boolean controlloscore(Score s){
int count=0;
int counter=0;
for(int i=0;i<s.dim;i++){
if(s.a[i]%2!=0)
count++;}
if(count%2!=0)return false;
count=0;
if(s.a[dim-1]<=2){ --------------------------------------------------errore
for(int i=0;i<s.dim;i++){
if(s.a[i]==1)count++;
}
if(count%2==0)return true;
if(count==0){
for(int i=0;i<s.dim;i++){
if(s.a[i]==2)counter++;
}
if(counter<3)return false;
}
}
}