debutant,probléme ArrayList

debutant,probléme ArrayList - Java - Programmation

Marsh Posté le 29-03-2008 à 18:55:10    

je suit entrain de réaliser un moteur d'inférance
bon j'ai déclaré une classe regles comme suit:
class Regle
{ ArrayList<int> primisse=new ArrayList<int>();
   int action;
   int nombre;
   boolean declanchable=false;
   public Regle(int primisse,int action,int nombre,boolean declanchable)
   { this.primisse=primisse;
     this.action=action;
     this.nombre=nombre;
     this.declanchable=declanchable;
   }
}
 
et mon code :
public class MoteurInference  
 { public static void main(String[] args)  
   {ArrayList <String> faits=new ArrayList<String>();
     ArrayList <Regle> regles=new ArrayList<Regle>();
     ...........etc
     regles.primisse.add(faits.indexOf(mot));
     regles.action.add(faits.indexOf(mot));
     ...........etc
   }
 }
 
compilation____
MoteurInference.java:87: cannot find symbol
symbol  : variable primisse
location: class java.util.ArrayList<Regle>
     {regles.primisse.add(faits.indexOf(mot));
                           ^
MoteurInference.java:100: cannot find symbol
symbol  : variable action
location: class java.util.ArrayList<Regle>
    regles.action.add(faits.indexOf(word));
                          ^
MoteurInference.java:112: unexpected type
found   : int
required: reference
{ ArrayList<int> primisse=new ArrayList<int>();
                                                      ^
 
SVP comment je peut le corriger ,aidez mois
 
       

Reply

Marsh Posté le 29-03-2008 à 18:55:10   

Reply

Marsh Posté le 29-03-2008 à 19:00:41    

le paramétrage via les generics ne peut se faire que par les classes, et pas par les types primitifs du langage :o Il faut donc utiliser les wrappers .... ou une autre structure de donnée :o


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 29-03-2008 à 19:25:02    

c'est quoi les wrappers ?
je suit un debutant et java semble trés trés difficile pour mois

Reply

Marsh Posté le 30-03-2008 à 00:23:22    

Tu définis la variable "regles" de type ArrayList et cette classe ne possède pas d'attibut "primisse" ni "action" (ce sont les éléments de cette liste qui sont des instances de Regle et qui ont ces attibuts).

 

Au sujet de la 3eme erreur : Les ArrayList ne peuvent contenir que des instance d'objet, int est un type primitif. Si tu veux faire une liste de nombre entiers, tu dois utiliser des instances de la classe Integer (c'est cette classe qu'on qualifie de wrapper ou capsule en français)

 


Message édité par Bidem le 30-03-2008 à 00:24:16
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed