Bonjour ,
J'ai quelques soucis pour réaliser mon objectif qui est d'afficher dans un tableau (jTable)
pseudo / score , trier par score du plus grand au plus petit , une liste de pseudo et score .
Tout d'abord , j'ecris dans un fichier texte mon pseudo et mon score , ensuite je lis ce fichier texte , je recupere les données et je les stocke dans un ArrayList.
Mon soucis c'est que je n'arrive pas à faire de tri sur le score du fait que mon tri ce fait sur la chaine de caractere pseudo + score .
Je vous met le code de tout ce qui peut etre utile . Si vous avez besoin de plus d'elements je vous les fournirai .
mon fichier texte ressemble a ca :
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 class Lireetecrire{ public void ecrire(String texte){ String adressedufichier = System.getProperty("user.dir") + "\\monfichier.txt"; try{ FileWriter fw = new FileWriter(adressedufichier, true); BufferedWriter output = new BufferedWriter(fw); output.write(texte); output.flush(); output.close(); } catch(IOException ioe){System.out.println("erreur : " + ioe );} } public void lire(){ String name = "monfichier.txt"; List<String> list = new ArrayList<String>(); try{ Scanner s = new Scanner(new FileReader(new File(name))); while(s.hasNext()) { list.add((s.nextLine())); } for (int index = 0; index < list.size(); index++) { Collections.sort(list, Collections.reverseOrder()); System.out.println(list.get(index)); } }catch(Exception e){ e.printStackTrace(); } } } /* ici je lance l ecriture du pseudo et du score dans le fichier */ String pseudoT = (nom); int scoreT = (h); Lireetecrire lee = new Lireetecrire(); lee.ecrire(scoreT+";"); lee.ecrire(pseudoT+";"); lee.ecrire("\n");
600;asze;
900;kijfrgg;
1700;koerf;
Partager