Salut a tous ,
J'ai une classe apelé PrismRule qui un des champ de cette classe c'est next qui est de type PrismRule Aussi car il va contenir la regle "PrismRule suivante" , apres avoir instancier plusieurs instance et les relier par le champ m_next je veux selectionner un certain nombre d'instancede cette chaine de PrismRule voila le code que j'ai fait:
PCR_rules : c'est la chaine dee PrismRule que je veux parcourir
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66 public List<PrismRule> SelectR= new ArrayList<PrismRule>(); private PrismRule SelectCR(PrismRule PCR_rules, int s) throws Exception { PrismRule Selected_rules =null; //poser les rule generer par add dans une list while(PCR_rules.m_next !=null){ SelectR.add(PCR_rules); PCR_rules=PCR_rules.m_next; } System.out.print("after add miiiii {---- "+SelectR.size()+"---]yyyyyy"); //--------------------------------------------- float Best=(SelectR.get(0)).m_errors; // ici on va choisir entre (laplace ...) int place=0; for(int u=0; u<s;u++){ System.out.print("one for"); for(int i=0; i<SelectR.size();i++){ if ((SelectR.get(i)).m_errors < Best) { Best= (SelectR.get(i)).m_errors; // on doit changer m_errors place=i; } } if(Selected_rules == null) { Selected_rules=SelectR.get(place); Selected_rules= Selected_rules.m_next; SelectR.remove(place); // System.out.println("Selected_rules ="+ Selected_rules); } else{ // System.out.println("am here not nu"); Selected_rules.m_next=SelectR.get(place); SelectR.remove(place); Selected_rules= Selected_rules.m_next; } } return Selected_rules ; }
je vais la copier dans une arraylist , mais ce que j'obtiens quand je fait SelectR.add (PCR_rules) chaque element du arraylist contien toute la PCR_rules et non pas un seule element malgré que je fait une boucle
Partager