Bonjour
Ca fait déjà un moment que je suis sur cet bête méthode mais pas moyen je cale complètement.
Je voudrais incrémenter deux compteur, en fonction du nombre d'éléments semblable.
Puis prendre l'élément le plus fréquents (ou les plus fréquents si ils tombent sur un ex aequo)
Mes listes sont déjà trier alphabétiquement.
L'une est sans les doublons pour la comparaison.
Entre les erreurs de compilation et les résultat non souhaiter je désespère.
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82 public class StatisticsTest { public static void main(String[] args) { HashSet<String> Set = new HashSet<String>(); ArrayList<String> color = new ArrayList<String>(); ArrayList<String> listSet = new ArrayList<String>(); ArrayList<String> top = new ArrayList<String>(); color.add("Rouge"); //5Rouge color.add("Rouge");//6Bleu color.add("Rouge");//3Vert color.add("Vert");//2Jaune color.add("Bleu"); color.add("Bleu"); color.add("Bleu"); color.add("Bleu"); color.add("Jaune"); color.add("Vert"); color.add("Vert"); color.add("Rouge"); color.add("Rouge"); color.add("Jaune"); color.add("Bleu"); color.add("Bleu"); Set.addAll(color); listSet.addAll(Set);//On efface les doublons et on les remets sous forme de liste Collections.sort(listSet); Collections.sort(color); int topCompteur=0; int nouveau =0; int compteur = 0; for(int i=0; i<listSet.size();i++){ String suivant = listSet.get(++i); if ((i%2)== 1){ for(int j=0; j< color.size(); j++){ boolean egalite = color.get(j).equals(listSet.get(i)); if(egalite == false){ nouveau++; boolean condition2 = color.get(j).equals(suivant); if(condition2 == false) {break;} } if(color.get(j).equals((listSet.get(++i)))) if(egalite == true){ compteur++; } } if (topCompteur==nouveau || topCompteur==compteur) {top.add(listSet.get(i));} if (topCompteur<nouveau || topCompteur<compteur){ if (nouveau < compteur) topCompteur = compteur; else {topCompteur = nouveau;} top.clear(); top.add(listSet.get(i)); } } } System.out.println(top); } }
Partager