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 :

Erreur dans mon main


Sujet :

Langage Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 34
    Points : 33
    Points
    33
    Par défaut Erreur dans mon main
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public static void main() throws IOException 
    {
     
    BufferedReader clavier;
    clavier = new BufferedReader(new InputStreamReader(System.in));
     
    System.out.println("entrez le nombre de compte");
    int numChoisi;
    numChoisi = Integer.parseInt(clavier.readLine());
    On me donne une erreur:

    The local variable numChosi is never read!!

    pourrais-je savoir qu'est-ce qui me pose probleme, svp?

    Merci

  2. #2
    Membre chevronné
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Points : 1 855
    Points
    1 855
    Par défaut
    euh ....
    public static void main() ?(au lieu de main(String[] args) )
    tu fais comment pour lancer le code ?
    J'ai des principes: je peux toujours trouver une bonne raison pour les contredire .... mais j'ai des principes!
    (mon excellent bouquin sur Java : https://eska-publishing.com/fr/livre...822407076.html)

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 34
    Points : 33
    Points
    33
    Par défaut
    deja, quand j'ecris cette ligne qui est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    int numChoisi = Integer.parseInt(clavier.readLine());
    Cela me donne l'erreur que j'ai precisé.

    Trop bizarre.

    Pour la compilation, au faite je travaille sur eclipse, donc je fais un run.
    Merci

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    365
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Janvier 2006
    Messages : 365
    Points : 495
    Points
    495
    Par défaut
    C'est une erreur de compilation ou juste un warning ?
    SCJP 5 / SCBCD 1.3 Certified

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 238
    Points : 267
    Points
    267
    Par défaut
    A mon avis c'est uniquement un warning :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    warning: The local variable... is never read
    Dans ce cas ton code est quand même compilé, mais le compilateur attire ton attention sur certains points.
    Ceci est du au fait que tu n'utilise jamais ta variable numChoisi.

    Un simple affichage devrait régler le warning :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println (numChoisi);

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 34
    Points : 33
    Points
    33
    Par défaut
    manblaizo dit:
    C'est une erreur de compilation ou juste un warning ?


    Je n'ai pas encore fait la compilation, vu que j'arrive pas a retirer ce warning.
    Merci

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    365
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Janvier 2006
    Messages : 365
    Points : 495
    Points
    495
    Par défaut
    Citation Envoyé par diditin
    Je n'ai pas encore fait la compilation, vu que j'arrive pas a retirer ce warning.
    Merci
    Eh bien, si c'est juste un warning, ça veut tout simplement dire que cette variable n'est utilisée nulle part dans le code, même après lui avoir affecter une valeur. Je crois que dans ce cas, le warning devrait disparaître en utilisant la variable (pour afficher un message par exemple)...
    SCJP 5 / SCBCD 1.3 Certified

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 34
    Points : 33
    Points
    33
    Par défaut voici mon code au complet
    Oui en faite, je ne savais pas pour le warning!!lol
    Merci..Mais maintenant, j'ai des erreurs dans la compilation.

    Ma classe compte

    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
    import java.io.IOException;
    import java.io.*;   
    class Compte
    {
    static int  num_Compte=0 ;
    private int solde ;
     
    Compte()
    {
    	num_Compte++;
    	solde=0;
    }
    public void deposer(int s)
    {
    solde = solde + s ;
    }
     
    public void retirer(int s)//: pour retirer une somme sur le compte.  
    {
    	solde = solde-s ;
    }
     
    public int avoirSolde()// qui retourne le solde du compte.
    { 
    	return solde;
    }
     
    public void infos()
    { 
    	System.out.print ("Compte numéro"+num_Compte+ "," + "Solde :" + avoirSolde()) ;
    }
     
    public static void main(String[] args) throws IOException 
    {
    	BufferedReader clavier = new BufferedReader(new InputStreamReader(System.in));
    	int chaine = Integer.parseInt(clavier.readLine());
    	System.out.print(chaine);
    	Compte david = new Compte();
    	david.deposer(5000);
    	int n;
    	n = david.avoirSolde();
    	System.out.println(n);
    	david.retirer(200);
    	david.infos();
    	Compte Jean = new Compte();
    	Jean.infos();
    }
    }
    Ma classe DAB(Distributeur automatique de billets)
    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
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;  
     
    public class DAB {
    	private int taille;
    	private Compte inconnu[];
    	private int numCompteCour;
     
    DAB(int n)
    {
    	taille = n;
    	this.inconnu = new Compte[taille];
    	for (int i=1;i<taille+1;i=i+1)
    	{
    		this.inconnu[i] = new Compte();
    	}
    	this.numCompteCour=0;
    }
     
     
    public void activer() throws IOException
    {
    	System.out.println("Menu");
    	System.out.println("0.Selectionnez un compte courant");
    	System.out.println("1.Retrait");	
    	System.out.println("2.Depot");
    	System.out.println("3.Solde");
    	System.out.println("4.Quit");
    	int n=System.in.read();
     
    	while (n!=4)
    	{
    	System.out.println("Menu");
    	System.out.println("0.Selectionnez un compte courant");
    	System.out.println("1.Retrait");
    	System.out.println("2.Depot");
    	System.out.println("3.Solde");
    	System.out.println("4.Quit");
     
    	n=System.in.read();
    	if (n==0)
    	{
    		System.out.println("Entrez le numero du compte courant");
    		int numcompte  = System.in.read();
    		if (numcompte<0 || numcompte>n)
    		{
    			System.out.println("entrez un numero situé entre 0 et "+taille);
    		}
    		else
    		{
    			numCompteCour = numcompte;
    		}
    	}
    	else if (n==1)
    	{
    		String str="Retrait";
    		System.out.println("vous avez choisi le choix"+n+"."+str);
    		System.out.println("Entrez le montant que vous voulez retirer");
    		int p = System.in.read();
    		inconnu[numCompteCour].retirer(p);
    	}
    	else if (n==2)
    	{String m="Depot";
    	System.out.println("vous avez choisi le choix"+n+"."+m);
    	System.out.println("Entrez le montant que vous voulez deposer");
    	int p = System.in.read();
    	inconnu[numCompteCour].deposer(p);
    	}
     
    	else if (n==3)
    	{String m="Solde";
    	System.out.println("vous avez choisi le choix"+n+"."+m);
    	inconnu[numCompteCour].avoirSolde();
    	}
    	else 
    	{System.out.println("Le numero de votre choix doit se situé entre 1 et 4");
    	}
     
    	}
     
    }
    public static void main(String[]args) throws java.io.IOException 
    {
     
    BufferedReader clavier;
    clavier = new BufferedReader(new InputStreamReader(System.in));
     
    System.out.println("Entrez le nombre de compte");
    int numChoisi = Integer.parseInt(clavier.readLine());
    System.out.print(numChoisi);
    DAB bnp = new DAB(numChoisi);
    bnp.activer();
    }
     
    }
    En le compilant, j'ai une erreur de
    [code]
    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
    at DAB.<init>(DAB.java:16)
    at DAB.main(DAB.java:92)
    code]

    Merci

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    365
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Janvier 2006
    Messages : 365
    Points : 495
    Points
    495
    Par défaut
    Bon, là le problème ce n'est plus le warning de tout à l'heure, mais bien une exception à l'exécution. Ce NullPointerException est causé par le fait que ton tableau "inconnu" dans la classe DAB n'est pas initialisé dans le constructeur. Avant de rentrer dans la boucle for, tu ferais d'abord :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    inconnu = new Compte[taille]
    SCJP 5 / SCBCD 1.3 Certified

Discussions similaires

  1. Erreur dans mon main template et classe objet
    Par walase dans le forum Débuter
    Réponses: 6
    Dernier message: 31/03/2014, 21h53
  2. erreur dans mon script
    Par Swata dans le forum Langage
    Réponses: 4
    Dernier message: 21/09/2005, 00h02
  3. [langage]erreur dans mon script
    Par Fabouney dans le forum Langage
    Réponses: 11
    Dernier message: 30/06/2005, 14h58
  4. Réponses: 5
    Dernier message: 25/04/2004, 00h57
  5. [Lien]erreur dans mon programme python
    Par durnambule dans le forum Général Python
    Réponses: 11
    Dernier message: 29/01/2004, 14h59

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