IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Affichage en boucle


Sujet :

Langage Java

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Affichage en boucle
    Bonjour,

    J'ai un soucis au niveau de l'affichage d'une structure de données.
    (Voir le code ci-dessous)

    On doit créer une méthode affiche() qui affiche dans l'ordre la totalité des chaînes contenues dans la structure Curseur. L'utilisation préalable de gauche() ou droite() ne doit pas changer l'effet de cette méthode.

    Je vais tenter de m'expliquer.
    A savoir que dans le code, j'utilise dans l'ordre, la méthode affD(), puis affiche(), puis affD().
    Je n'obtiens pas la même chose avant et après affiche(), avec la méthode affD(). Et après, j'utilise les méthodes gauche() et affD(), et là j'ai le droit à un affichage en boucle.

    Par contre, si j'enlève affiche(), je n'ai pas de soucis.

    Donc je pense que c'est évident, il y a un soucis dans ma méthode affiche(). Mais je me creuse la tête depuis un certain moment, et je n'arrive pas à trouver mon erreur.

    En espérant avoir été précise dans mon explication.
    Merci

    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
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    import java.util.Scanner;
     
     
    public class curseur {
    	private class chainage {
    			String elt;
    			chainage suiv;
    	}
    	chainage avant;
    	chainage apres;
     
    	curseur() {
    		avant=null;
    		apres=null;
    	}
     
    	public void droite() {
    		chainage aux=apres;
    		apres=apres.suiv;
    		aux.suiv=avant;
    		avant=aux;
    	}
     
    	public void gauche() {
    		chainage aux=avant;
    		avant=avant.suiv;
    		aux.suiv=apres;
    		apres=aux;
    	}
     
    	public void affD() {
    		chainage aux=apres;
    		while (aux!=null) {
    			System.out.print(aux.elt);
    			aux=aux.suiv;
    		}
    		System.out.println();
    	}
     
    	public void insert (String s) {
    		chainage aux=new chainage();
    		aux.elt=s;
    		aux.suiv=avant;
    		avant=aux;
    	}
     
    	public void delete() {
    		avant=avant.suiv;
    	}
     
    	public void affiche() {
    		chainage a=avant;
    		chainage b=apres;
    		chainage aux = new chainage();
    		while (b!=null) {
    			aux=b;
    			b=b.suiv;
    			aux.suiv=a;
    			a=aux;
    		}
    		while (a!=null) {
    			System.out.print(a.elt);
    			a=a.suiv;
    		}
    		System.out.println();
    	}
     
    	public static void main (String args[]) {
    		Scanner scan=new Scanner(System.in);
    		curseur c = new curseur();
    		c.insert("Ra");
    		c.insert("Ta");
    		c.gauche();
    		System.out.print("Avant affichage :");
    		c.affD();
    		System.out.print("Affiche : ");
    		c.affiche();
    		System.out.print("Après affichage :");
    		c.affD();
    		c.gauche();
    		System.out.print("Appuyez sur une touche et sur entrée");
    		scan.next();
    		c.affD();
    		/*scan.next();
    		System.out.print("Affiche : ");
    		c.affiche();
    		scan.next();
    		c.droite();
    		c.affD();
    		System.out.print("Affiche : ");
    		c.affiche();
    		scan.next();
    		c.delete();
    		c.affD();
    		System.out.print("Affiche : ");
    		c.affiche();
    		scan.next();
    		c.droite();
    		c.affD();
    		System.out.print("Affiche : ");
    		c.affiche();
    		scan.next();
    		c.insert("pis");
    		c.gauche();
    		c.affD();
    		System.out.print("Affiche : ");
    		c.affiche();
    		scan.next();
    		c.gauche();
    		c.affD();
    		System.out.print("Affiche : ");
    		c.affiche();*/
    	}
    }
    Dernière modification par Jannus ; 14/05/2010 à 15h02. Motif: Retrait PJ et ajout du code

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. GLUT: Séparer boucle d'affichage et boucle de jeu
    Par dream25 dans le forum API graphiques
    Réponses: 8
    Dernier message: 03/10/2011, 00h02
  2. affichage en boucle des images à partir d'un repertoire
    Par fraizas77 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/12/2010, 13h55
  3. affichage en boucle image recu sur flux udp/rtp VLC
    Par aziatedu13 dans le forum Multimédia
    Réponses: 1
    Dernier message: 20/02/2008, 14h41
  4. Modifier des paramètres pendant un affichage en boucle
    Par lafarigoule dans le forum Interfaces Graphiques
    Réponses: 7
    Dernier message: 26/12/2007, 23h09
  5. [XSL] Affichage hors boucle
    Par Ptite Pupuce dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 07/11/2007, 19h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo