Newsgroup: it.comp.java
Titolo: Info su classe

Secondo voi questa classe è giusta?
Ho provato a richiamarla da un'applicazione ma mi viene dato errore quando
provo a inizializzare un nuovo oggetto IntegerSet e quando provo a fare
l'unione dei due insiemi. La classe comunque mi viene compilata senza
errori.
public class IntegerSet extends Object
{
        private boolean a [] = new boolean [101];
        private int n;
    public IntegerSet() {
        setIntes (a);
    }
    public void setIntes (boolean a[]){
    for (int i = 0; i < a.length; i++)
        a[n] = false;
    }
    public void setInt (boolean a[]){
    for (int i = 0; i < 20; i++)
        n =  1 + (int) (Math.random() *100);
        a[n] = true;
    }
    public void setInu (boolean a[], int h){
     a[h] = true;
    }
    static public IntegerSet unionOfIntegerSets (IntegerSet k1, IntegerSet
k2){
        IntegerSet u = new IntegerSet ();
        for ( int i = 0; i < 101 ; i++){
        if ((k1.a[i] == true) || (k2.a[i] == true))
            u.a[i] = true;
        }
        return u;
    }
    static public IntegerSet intersectionOfIntegerSets (IntegerSet k1,
IntegerSet k2){
        IntegerSet u = new IntegerSet ();
        for ( int i = 0; i < 101 ; i++){
        if ((k1.a[i] == true) && (k2.a[i] == true))
            u.a[i] = true;
        }
        return u;
    }
  static public IntegerSet insertElement (IntegerSet k, int i){
      if (k.a[i] != true)
          k.a[i] = true;
      return k;
    }
  static public IntegerSet deleteElement (IntegerSet k, int i){
      if (k.a[i] != false)
          k.a[i] = false;
      return k;
    }
  public String setPrint (IntegerSet k){
      String output ="";
      for (int i = 0; i < a.length; i++){
      if ( k.a[i] == true)
          output += "  " + i;
      }
      return output;
  }
  public boolean isEqualTo (IntegerSet k1, IntegerSet k2){
      String ou, zo;
      ou = setPrint (k1);
      zo = setPrint (k2);
      if (ou.equals (zo))
          return true;
      else
          return false;
  }
}

     }
Non sono andato oltre.
Questo ciclo e' inutile. Continua a settare
a[0]=false;
dato che nel ciclo la variabile che cambia e' i, mentre n e' sempre uguale
(a 0 per l'appunto)
Quando accederai ad un a[qualcosa>0] il programma esploderà (a meno che i
boolean non siano autoinizializzati da java)
Ciao
-- 
-=Riccardo Galli=-
 _,e.
s~  ``
 ~@.   ideralis Programs
.   ol 
 `**~  
http://www.sideralis.net

diciamo che il ciclo è del tutto inutile (anche se fosse corretto)!
Infatti l'istruzione : boolean[] a = new boolean[101];
di per se già inizializza tutti gli elementi di a ad un valore di default
che per i boolean è false.
Occhio che questa inizializzazione funziona solo per i tipi base (boolean,
int, float, ...)
Se ad esempio avevi Boolean[] a = new Boolean[101];
in questo caso avresti dovuto inizializzare l'array con :
    for (int i = 0; i < a.length; i++)
        a[i] = Boolean.FALSE;
        //oppure a[i] = new Boolean(false);
    }
bye bye,
Amedeoz.
"Riccardo Galli" <ricc...@sideralis.matrix_cambia_matrix_in_net> wrote in
message
news:pan.2002.12.12....@sideralis.matrix_cambia_matrix_in_net...


Prova a postare l'errore che ottieni e il codice con cui fai la chiamata.
Ciao, Michele