Bonjour j'ai une classe ligne et une classe paragraphe j'utilise l'agrégation pour afficher plusieurs ligne dans la classe paragraphe en appelant la méthode saisie e affiche de la classe ligne dans ;a classe paragraphe mais il affiche n fois la dernière ligne. Merci de m'aider à résoudre le problème.
et une classe paragraphe composée de n lignes
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 import java.util.Scanner; public class Ligne { private String mots; private String fin; public Ligne() { } public Ligne(String mots,String fin) { this.mots=mots; this.fin=fin; } public String getMots(){ return mots; } public void setMots(String mots) { this.mots = mots; } public String getFin() { return fin; } public void setFin(String fin){ this.fin=fin; } public void saisie() { Scanner sc= new Scanner (System.in); System.out.println("Donnez le mots: "); this.mots=sc.nextLine(); System.out.println("Donnez la dernière: "); this.fin=sc.nextLine(); } public void affiche() { System.out.println(mots+" /"+fin+"/"); } }
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 import java.util.Scanner; public class Paragraphe { Scanner sc= new Scanner (System.in); private Ligne suiteDeLigne[]; private int nbLigne; Ligne vers=new Ligne(); public Paragraphe() { this.nbLigne=0; } public void saisie() { System.out.println("Donnez le nombre de vers: "); nbLigne=sc.nextInt(); suiteDeLigne sl =new Ligne[nbLigne]; for(int i=0;i<nbLigne;i++) { vers.saisie(); suiteDeLigne[i]=sl; } } public void affiche() { for(int i=0;i<nbLigne;i++) { suiteDeLigne[i].affiche(); } } public static void main(String arg[]) { Paragraphe pg = new Paragraphe(); pg.saisie(); pg.affiche(); } }
Partager