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 :

Que signifie "The local variable A1 may not have been initialized"


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 15
    Points : 10
    Points
    10
    Par défaut Que signifie "The local variable A1 may not have been initialized"
    bonjour,
    c'est mon programme, je n'ai pas compris la source de l'erreur affichée
    merci pour l'aide

  2. #2
    Membre averti Avatar de ZnhaarX
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

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

    Informations forums :
    Inscription : Février 2011
    Messages : 146
    Points : 307
    Points
    307
    Par défaut
    Bonjour,

    J'ai quelque talents de devin et à vu de nez comme ça, je dirais un NullPointerException, mais je me surestimes surement un peu...
    ___

    Code source ?
    Erreur retournée?
    « War is peace. Freedom is slavery. Ignorance is strength. » - George Orwell

  3. #3
    Membre régulier Avatar de Tora21
    Homme Profil pro
    Développeur("Java"); //Débutant
    Inscrit en
    Mai 2011
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur("Java"); //Débutant

    Informations forums :
    Inscription : Mai 2011
    Messages : 140
    Points : 116
    Points
    116
    Par défaut
    Salut,

    euh moi j'ai pas de talents de devin, mais je suppose que tu as oublié de spécifier ton erreur. Ca pourrait éventuellement nous aidé si tu nous donnais le texte de ton erreur^^.
    Ah ça y’est, j’viens de comprendre à quoi ça sert la canne. En fait ça sert à rien… Du coup ça nous renvoie à notre propre utilité : l’Homme face à l’Absurde !

    -Perceval-

  4. #4
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    le voila ^^

    ProgAdresse.java

    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
    import java.util.*;
     
     
     class ProgAdresse {
      public static void main(String[] args) {
     
      Adresse A1; Adresse A2;  
     
      //int num1,num2,code1,code2;
      //String nom1,nom2,v1,v2;
     
      Scanner s=new Scanner(System.in);
     
      A1.Lire();
      A2.Lire();
     
      A1=new Adresse();
      A2=new Adresse();
     
      A1.Afficher();
      A2.Afficher();
     
      if(A1.Egale(A2)==true) 
    	  System.out.println("les deux Adresses sont égalesn/n");
      else 
    	  System.out.println("non, elles ne sont pas égalesn/n");}
     
     
     
     
    	}
    Adresse.java
    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
    import java.util.*;
    public class Adresse {
     
    	int numero;
    	String nomRue;
    	int codPostal;
    	String ville;
     
    	//Adresse(int num,String nom,int code,String v){
    		//numero=num;
    		//nomRue=nom;
    		//codPostal=code;
    		//ville=v;
    	//}
     
    	void Lire(){
    	 Scanner e=new Scanner(System.in);	
    	 System.out.println("donner le numéro\n");
    	 numero=e.nextInt();
    	 System.out.println("donner le nom de la rue\n");
    	 nomRue=e.next();
    	 System.out.println("donner le code postal\n");
    	 codPostal=e.nextInt();
    	 System.out.println("donner la ville");
    	 ville=e.next();
    	}
     
    	void Afficher(){
    	System.out.println(numero+" "+codPostal+" "+nomRue+" "+ville);
    	}
     
    	boolean Egale(Adresse A){
     
     if ((this.numero==A.numero)&&(this.codPostal==A.codPostal)&&
    	(this.nomRue).compareTo(A.nomRue)&&
    	(this.ville).compareTo(A.ville) ) return(true);
     else return(false);}} //fin Adresse

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 351
    Points : 432
    Points
    432
    Par défaut
    Ça c'est le code source de ton programme , pas l'erreur que t'affiche ton compilateur.

    Les gens vont pas réécrire le code de ton exercice pour toi.

  6. #6
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 15
    Points : 10
    Points
    10
    Par défaut ce que le compilateur affiche
    Exception in thread "main" java.lang.Error: Unresolved compilation problems:
    The local variable A1 may not have been initialized
    The local variable A2 may not have been initialized

    at ProgAdresse.main(ProgAdresse.java:14)

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 51
    Points : 30
    Points
    30
    Par défaut
    Tu essayes d'invoquer la méhtode Lire() pour les objets Adresses A1 et A2 alors que tu ne les a pas encore instanciés, entre autres

    C'est ce que te dit le message d'erreur : "A1 et A2 n'ont pas été initialisés"

  8. #8
    Membre régulier Avatar de Tora21
    Homme Profil pro
    Développeur("Java"); //Débutant
    Inscrit en
    Mai 2011
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur("Java"); //Débutant

    Informations forums :
    Inscription : Mai 2011
    Messages : 140
    Points : 116
    Points
    116
    Par défaut
    Faudrait mettre tes instructions dans l'ordre, d'abord, déclare-les, ensuite instancie-les, et après utilise-les avec tes méthodes ou autres.

    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
     
    public static void main (String [] args)
    	{
                // Déclaration variables
    		Adresse A1;
    		Adresse A2;
     
    		// int num1,num2,code1,code2;
    		// String nom1,nom2,v1,v2;
     
    		Scanner s = new Scanner (System.in);
     
                // Instanciation des variables
    		A1 = new Adresse ();
    		A2 = new Adresse ();
     
                // Utilisation des variables
    		A1.Lire ();
    		A2.Lire ();
     
    		A1.Afficher ();
    		A2.Afficher ();
    Ah ça y’est, j’viens de comprendre à quoi ça sert la canne. En fait ça sert à rien… Du coup ça nous renvoie à notre propre utilité : l’Homme face à l’Absurde !

    -Perceval-

  9. #9
    Membre chevronné
    Inscrit en
    Août 2009
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 1 073
    Points : 1 806
    Points
    1 806
    Par défaut
    Je ne vois pas l'intérêt de déclarer des variables sans les instancier directement, dans le cas présent ?

  10. #10
    Membre régulier Avatar de Tora21
    Homme Profil pro
    Développeur("Java"); //Débutant
    Inscrit en
    Mai 2011
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur("Java"); //Débutant

    Informations forums :
    Inscription : Mai 2011
    Messages : 140
    Points : 116
    Points
    116
    Par défaut
    Ben on est dans la rubrique débuter, donc en général pour les débutants (et j'en fais partie) on détails bien les étapes, mais c'est tous à fait possible de déclarer et par la même d'instancier.
    Ah ça y’est, j’viens de comprendre à quoi ça sert la canne. En fait ça sert à rien… Du coup ça nous renvoie à notre propre utilité : l’Homme face à l’Absurde !

    -Perceval-

  11. #11
    Membre chevronné
    Inscrit en
    Août 2009
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 1 073
    Points : 1 806
    Points
    1 806
    Par défaut
    Personnellement je trouve ça dérangeant dans la lecture, notamment quand ça se complique et qu'un objet est déclaré au début, mais instancié plusieurs fois dans des boucles, avec entre 2 un objet qui est en fait hors scope

    Alors tu vas me dire que dans certains cas, on peut s'arranger, etc., mais à mon sens ça reste de l'habitude qui a la vie dure. En plus quand dans un IDE (genre Eclipse) je clique sur une variable, je préfère que ça m'amène à la déclaration effective plutôt qu'au début de la méthode ... Autant commencer directement en codant clairement

  12. #12
    Membre régulier Avatar de Tora21
    Homme Profil pro
    Développeur("Java"); //Débutant
    Inscrit en
    Mai 2011
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur("Java"); //Débutant

    Informations forums :
    Inscription : Mai 2011
    Messages : 140
    Points : 116
    Points
    116
    Par défaut
    Ben dans la pratique c'est mieux c'est clair, mais pour explique (surtout si la personne début) c'est plus pédagogique de développer un peu. Mais je suis d'accord avec toi pour ce que tu dis.
    Ah ça y’est, j’viens de comprendre à quoi ça sert la canne. En fait ça sert à rien… Du coup ça nous renvoie à notre propre utilité : l’Homme face à l’Absurde !

    -Perceval-

  13. #13
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    Citation Envoyé par Rei Ichido Voir le message
    Je ne vois pas l'intérêt de déclarer des variables sans les instancier directement, dans le cas présent ?
    Je suis mitigé moi. J'ai appris en structurant mes méthodes et classe comme ça du coup j'ai gardé cette habitude. Moi, contrairement à toi je trouve ça plus lisible du coup (comme quoi le goût et les couleurs)

    Comme ça en intro., je mets la déclaration de mes variables avec possibilité de commentaire sur leur rôle alors que par la suite, les commentaires me serviraient plus à expliquer à quoi sert la ligne de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    MaVariable a; // objet connecteur ...
     
    ... du code ...
     
    a.faitSaConnexion() // connexion établit entre a et ...
    Mais bon, c'est ma façon de justifier cette manie.
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

Discussions similaires

  1. Variables locales : might not have been initialized
    Par cherche_java dans le forum Débuter avec Java
    Réponses: 16
    Dernier message: 07/01/2015, 01h30
  2. Erreur "variable dimension2 might not have been initialized"
    Par jy03154586 dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 02/11/2011, 13h45
  3. Réponses: 1
    Dernier message: 06/10/2011, 12h41
  4. Réponses: 3
    Dernier message: 03/05/2010, 19h12
  5. erreur:The local variable may not have been initialized
    Par wiss20000 dans le forum Langage
    Réponses: 7
    Dernier message: 22/03/2007, 16h18

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