Bonjour à tous,
J'ai un projet en java à réaliser dans le cadre scolaire.
Le principe est de faire un traducteur français <=> morse. Histoire de rajouter du challenge inutile, on doit utiliser une liste chainée qu'on doit coder à la main. (Parce que voilà, c'est comme ça.)
La liste fonctionne et répond aux critères demandés. J'essaye donc d'initialiser la liste complète avec les 2alphabets, mais au final quand je récupère la liste, je me retrouve sur le chainon final au lieu d'être sur le premier.
La liste :
(maillon est un tableau de String tel que String[] maillon = {"e","."};, afin de conserver ensemble l'équivalent français et morse.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 private String[] maillon; private Liste next;
Le code qui pose problème :
A la fin, quand je fais un getListe(), je récupère juste le dernier maillon. J'ai l'impression qu'en fait il passe la référence de liste1 et travaille sur cette référence.
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 public class Traducteur { private String[] alphaFr = {"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"}; private String[] alphaMorse = {".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."}; private Liste liste1; public Traducteur() { String[] corres1 = new String[26]; this.liste1 = new Liste(corres1); Liste listeNext = new Liste(); this.liste1.setNext(listeNext); for(int i=1;i<26;i++) { corres1[0] = alphaFr[i]; corres1[1] = alphaMorse[i]; listeNext.setMaillon(corres1); listeNext.setNext(new Liste()); listeNext = listeNext.getNext(); } } public Liste getListe() { return this.liste1; } }
Mon but serait de récupérer le premier maillon avec getListe() (donc la lettre a) et ensuite via des getNext(), je navigue dans la liste.
(Le reste du code consiste en des méthodes constructeur de la liste et un main pour faire des tests. Rien de sorcier.)
Merci de votre temps et aide.
Partager