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

avec Java Discussion :

initialisation d'une variable


Sujet :

avec Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    958
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 958
    Points : 141
    Points
    141
    Par défaut initialisation d'une variable
    Bonjour,

    j'ai crée une variable iinputValue2 de type String et chargée de recupérer le contenu d'une saisie utilisateur.

    Dans le code j'inf=)dique que si la chaîne saisie ne convient au motif attendu, alorsd il faut declenche rune instance de la classe test_catacteres_az, qui est une classe fille de la classe Exception,comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    try{
    inputValue2 = JOptionPane.showInputDialog(null,"<html><body><center><FONT COLOR =\"YELLOW\"><FONT SIZE=5>Veuillez saisir votre nom</FONT></FONT></body></center></html> ","saisie du nom de l'initiateur de la partie ",JOptionPane.QUESTION_MESSAGE);
     
    if (inputValue2.matches("[a-zA-Z]*")==false)throw new test_caracteres_az();
     
    }// fin de try
    Cette instance de la classe test_caracteres_az est attrapée par un catch comme ceci( la méthode test_caracteres_a_z_A_Z de la classe test_caracteres_az est statique et a un argument de type String)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    catch(test_caracteres_az test_az){
    	test_caracteres_az.test_caracteres_a_z_A_Z(inputValue2);
    Or, je reçois un message me demandant d'initialiser la variable inputValue2.

    Or, il se trouve que la variable inputValue2 va obligatoirement recevoir une valeur car au dessus du if (inputValue2.matches("[a-zA-Z]*")==false)throw new test_caracteres_az(); , il y a un autre test( qu'on ne voit pas ici car il n'est pas nécessaire de le montrer) qui vérifie que la variable inputValue2 contient bien une valeur saisie.

    Pourquoi exiger d'initialiser la variable inputValue2 alors?

    Merci beaucoup de votre réponse.

    Cordialement.

    Nathalie
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. [SHADOKS]

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    parce que, dans un catch, le compilateur assume que, potentiellement, aucun code du try n'a été exécuté. Il s'amuse pas à faire dans le détail (et on peu montrer que, dans le cas général, c'est un problème non décidable).

    Il suffit de le mettre à null dans sa déclaration avant le try et t'es tranquille.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    958
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 958
    Points : 141
    Points
    141
    Par défaut initialisation d'une variable
    Merci beaucoup de ta réponse, les choses sont plus claires maintenant.
    Que veux tu dire par
    et on peu montrer que, dans le cas général, c'est un problème non décidable
    Je te remercie de ta réponse.

    Cordialement.

    Nathalie
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. [SHADOKS]

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    qu'avec les contraintes du language, en général, il est impossible pour le compilateur de garantir qu'on aura au moins atteinds la ligne X du try avant de lancer une exception menant au catch.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    958
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 958
    Points : 141
    Points
    141
    Par défaut [resolu]initialisation d'une variable
    Merci de ta réponse.
    Mon problème est maintenant résolu.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. [SHADOKS]

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

Discussions similaires

  1. Initialisation d'une variable externe
    Par ForgetTheNorm dans le forum Assembleur
    Réponses: 1
    Dernier message: 15/11/2006, 08h54
  2. [VB.Net]Déclaration et initialisation d'une variable
    Par DonF dans le forum Windows Forms
    Réponses: 6
    Dernier message: 14/11/2006, 20h05
  3. Initialisation d'une variable Object
    Par bobic dans le forum Langage
    Réponses: 2
    Dernier message: 08/09/2006, 17h21
  4. Vérifier l'initialisation d'une variable
    Par homeostasie dans le forum C
    Réponses: 11
    Dernier message: 04/08/2006, 18h05
  5. initialisation d'une variable DATE
    Par olivll dans le forum Access
    Réponses: 4
    Dernier message: 25/07/2006, 11h57

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