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 :

Erreur "Exception in thread "main" java.lang.Error:"


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de james_usus
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 103
    Par défaut Erreur "Exception in thread "main" java.lang.Error:"
    Bonjour,

    J'ai testé un programme Java comme suit :
    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
    public class exo1mod4 {
     
    public static void main (String []arg)
    {
    char[]matiere=new char[3];
    matiere[0] = 'M';
    matiere[1] = 'F';
    matiere[2] = 'I';
    int i,j,nb;
    double s;
    s=0;
     
    //saisie du nombre d'élève
     
    System.out.println("entrez le nombre d'élèves ");
    nb=Lire.i();
    double [][]notes=new double [nb][4];
     
    //saisie des notes
    for (i=0;i<nb;i=i+1)
        for (j=0;j<3;j=j+1)
            {System.out.println("entrez la note de l'élève "+(i+1)+" en "+matiere[j]);
            notes[i][j]=Lire.d();
            }
     
    //calcul des moyennes individuelles
     
     
    for (i=0;i<nb;i=i+1)
     
        {notes[i][3]=((notes[i][0]*3)+(notes[i][1]*2)+(notes[i][2]*5))/10;
     
        System.out.println("Moyenne de l'élève "+i+": "+notes[i][3]);
     
     
        if (notes[i][3]<10) System.out.println(" Elève recalé");
        else System.out.println(" Elève reçu");}
     
    //calcul de la moyenne de la classe
     
    for (i=0;i<nb;i=i+1) s=s+notes[i][3];
    System.out.print("La moyenne de la classe est: "+s/nb);
    }
    }
    J'ai un retour d'erreurs comme suit :

    Exception in thread "main" java.lang.Error: Problèmes de compilation non résolus :
    Lire ne peut pas être résolu
    Lire ne peut pas être résolu
    Comment faire pour que la fonction lire() puisse être reconnue ?

    at exo1mod4.main(exo1mod4.java:19)

    J'utilise Eclipse Java EE IDE for Web Developers.
    Version: Juno Service Release 2
    Build id: 20130225-0426

    Quelqu'un saurait-il m'indiquer d'où vient le problème ?

    Merci d'avance pour votre aide.

  2. #2
    Membre éprouvé Avatar de rabDev
    Homme Profil pro
    Ingénieur développement logiciels, Concepteur et développeur de JMerise
    Inscrit en
    Mars 2011
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels, Concepteur et développeur de JMerise

    Informations forums :
    Inscription : Mars 2011
    Messages : 107
    Par défaut Lire une entrée clavier avec du java
    Bonjour james_usus,
    ce que tu fais là ce n'est pas de la programmation Orientée Objet mais de la programmation procédurale telle que le C.
    mais bon voila ce qu'il faut faire :

    1. Créer la classe Lire (ci-dessous)

    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
     
    import java.util.Scanner;
     
    public class Lire {
    	public static int entier(){
    		int n = -1;
    		try{
    			Scanner entree = new Scanner(System.in);
    			n = Integer.parseInt(entree.nextLine());
    		}catch(NumberFormatException ex){
    			System.out.println("Nombre invalide" + ex);
    			System.exit(0);
    			return -1;
    		}
    		return n;
    	}
     
    	public static double reel(){
    		double n = -1;
    		try{
    			Scanner entree = new Scanner(System.in);
    			n = Double.parseDouble(entree.nextLine());
    		}catch(NumberFormatException ex){
    			System.out.println("Nombre invalide" + ex);
    			System.exit(0);
    			return -1;
    		}
    		return n;
    	}
    }
    2. Faire quelque changement dans ta classe exo1mod4 à savoir
    nb = Lire.i();
    notes[i][j]=Lire.d();
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    notes[i][j]=Lire.reel();

    Bonne journée

Discussions similaires

  1. Réponses: 5
    Dernier message: 24/02/2008, 22h58
  2. Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException ?
    Par freezerhm dans le forum Concurrence et multi-thread
    Réponses: 5
    Dernier message: 04/12/2007, 09h26
  3. Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    Par Trint dans le forum Interfaces Graphiques en Java
    Réponses: 6
    Dernier message: 27/02/2007, 11h28
  4. Réponses: 8
    Dernier message: 11/05/2006, 19h32
  5. [JDIC]Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    Par kedare dans le forum Concurrence et multi-thread
    Réponses: 4
    Dernier message: 06/05/2006, 22h45

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