ciao a tutti..
devo fare un programma che gestisce un insieme di numeri interi positivi..attraverso un ARRAY DI BOOLEANI dinamico..
implementando i due metodi put(int) e remove(int)..però ho riscontrato qlk problemino...infatti inserendo numeri parecchio grandi il mio programma va in crash in quanto viene lanciata l'eccezione OutOfMemoryError ...
codice:
private boolean[] b; //questa è la mia variabile per la struttura
private int n; //serve per contare gli elementi dell'insieme
//il metodo put() che ho scritto io
public boolean put(int s){
if(s<0) throw new IllegalArgumentException("Intero negativo!");
if(s>=b.length) {
allunga(s);
set[x]=true;
n++;
return true;
}
if(set[s]) return false;
else{
set[s]=true;
n++;
return true;
}
//Metodo che aumenta la capacita' dell'array
private void aumenta(int last) {
boolean[] b1 = new boolean[last+1];
System.arraycopy(b, 0, b1, 0, b.length);
b=b1;
}
ora quando provo ad inserire un numero mooolto grande..mi si crasha tutto..
suggerimenti?? grazie