liouan | Pour décoder le contenu, String.split(String) est très utile
"0,3".split("," ) retourne un tableau contenant {"0" , "3" )
"0,3".split("," )[0] = 0
"0,3".split("," )[1] = 3
Ensuite, pour stocker les occurrences, la structure la plus adaptée est clairement la HashMap.
En clé, tu mets le nombre pour lequel tu comptes les occurrences et en valeur, tu mets le nombre d'occurrences.
Voici un exemple vite fait:
Code :
- public static void main(String[] args) {
- String[] tableau = { "0,3", "2,4", "1,8", "7,4", "0,2", "1,9", "9,0", "9,9" };
- // HashMap pour stocker les occurences
- HashMap<Integer, Integer> occ = new HashMap<Integer, Integer>();
- for (String s : tableau) {
- // Conversion en entier...
- int x = Integer.valueOf(s.split("," )[0]);
- int y = Integer.valueOf(s.split("," )[1]);
- // Si la valeur x n'y est pas, on la met avec un compteur à 0
- if (occ.get(x) == null) {
- occ.put(x, 0);
- }
- // Puis on incrémente
- occ.put(x, occ.get(x) + 1);
- // Si la valeur y n'y est pas, on la met avec un compteur à 0
- if (occ.get(y) == null) {
- occ.put(y, 0);
- }
- // Puis on incrémente
- occ.put(y, occ.get(y) + 1);
- }
- for(Entry<Integer,Integer> entry:occ.entrySet()){
- System.out.println(entry.getKey()+" est présent "+entry.getValue()+" fois" );
- }
- }
|
|