Il mio intento è quello di riempire un array di interi,di dimensione 10,di valori compresi tra 1 e 20(estremi inclusi) ma senza che vi siano ripetizioni.
A tale proposito avevo fatto questo metodo che però a quanto pare nn funziona correttamente,ottengo comunque ripetizioni,ecco il metodo:
codice:
//all'interno di una classe
private static int [] cv=new int [10];
public static int [] riempiArray(){
int n=0;
boolean cè;
for(int i=0;i<cv.length;i++){
cè=true;
while(cè){
n=r.nextInt(21);
if(n!=0){
cè=ricercaOrdinata(cv,n);
}
}
cv[i]=n;
}
Arrays.sort(cv);
return cv;
}
//eccovi anche il metodo "ricerca ordinata":
public static boolean ricercaOrdinata(int[] dati, int chiave) {
int i;
boolean trovato = false;
boolean finito = false;
i = 0;
while (!trovato && !finito && i<dati.length) {
if (dati[i]==chiave)
trovato = true;
else if (dati[i]>chiave)
finito = true;
i++;
}
return trovato;
}
perchè non funziona?perchè mi dà comunque ripetizioni?come andrebbe corretto?
Grazie!