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 :

[debutant]Sortie de program


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 265
    Par défaut [debutant]Sortie de program
    Bonjour j'ai ce program qui semble banal, et pourtant...
    Il a ete donne un test d'embauche.
    Je suis entrain de me casser les meninges comme jamais j'ai fait sur un program java.
    De mon point de vue la sortie ne pouvait faire que 2, or le resultat est 12.
    J'ai essaye de le mettre en mode debug via eclipse, impossible de comprendre pourquoi. Je pense qu'il y a quelque chose que l'initialisateur static{} doit faire des choses que je ne saisis pas, ce que je sais c'est qu'il s'execute avant le main et pourtant...
    Merci pour toute aide.
    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
     
    public class Question10 
    {
    	static int i = 1, j = 2;
    	static 
    	{
    	display(i);
    	}	
    	static void display(int n) 
    	{
    	System.out.print(n);
    	}		
    	public static void main(String[] args) 
    	{
    		display(j);
    	}
     
     
    }
    Cordialement

  2. #2
    Membre Expert
    Avatar de Patriarch24
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 047
    Par défaut
    Je pense qu'il y a quelque chose que l'initialisateur static{} doit faire
    Tu as tout compris. L'initialiseur static effectue l'affichage de i (affiche 1), puis ton programme s'exécute et affiche le 2 (j).

  3. #3
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 265
    Par défaut
    D'abord je te remercie pour ton intervention, mais je ne saisis pas ce que tu me dis

    L'initialiseur static effectue l'affichage de i (affiche 1), puis ton programme s'exécute et affiche le 2 (j).
    OK pour le 2, mais alors pourquoi 12 ??? Ou es ce qu'il fait ce calcul ????
    Comment il mulitplie 2 par 6 pour arriver a 12 ???
    Je suis completement largue ...
    Comment passer d'une valeur de 2, a 12, multiplication??? addition ??? Qu'es ce qui se passe au juste dans ce mysterieux Static{} ???
    Cordialement

  4. #4
    Membre émérite Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    ce n'est pas 12 c'est 1 puis 2....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    static 
    	{
    	display(i);
    	}
    affiche le i donc 1

    puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public static void main(String[] args) 
    	{
    		display(j);
    	}
    affiche j donc 2

  5. #5
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 265
    Par défaut
    Je vous remercie, je viens de comprendre, en remplacant print par println.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    static void display(int n) 
    	{
    	System.out.println(n);
    	}
    C'etait vicieux, mais c'est ca les tests, j'avais pas percute, je pensais a un calcul, en fait c'etait une bete concatenation de chaines de carracteres.

    Bien cordialement.

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

Discussions similaires

  1. [VB6] debutant format de sortie d un fichier
    Par Slumpy dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 21/05/2006, 21h49
  2. debuter en programation module access
    Par papilou86 dans le forum Access
    Réponses: 4
    Dernier message: 20/05/2006, 21h06
  3. Réponses: 2
    Dernier message: 09/01/2006, 09h04
  4. [Debutant][XSLT] sortie tableau
    Par bejnat dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 18/07/2005, 15h57
  5. Réponses: 4
    Dernier message: 22/11/2004, 19h29

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