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

Java Discussion :

erreur sur calcul de moyenne


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Février 2016
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Février 2016
    Messages : 188
    Par défaut erreur sur calcul de moyenne
    bonjour,
    je cherche a calculer la moyenne d'un tableau, les cases vides contiennent -1
    la procédure de stockage du tableau s'effectue
    mais la procédure de calcul de la moyenne donne

    Exception in thread "main" TerminalException
    at Terminal.exceptionHandler(Terminal.java:116)
    at Terminal.lireDouble(Terminal.java:48)
    at moyenne.moyenne(moyenne.java:27)
    at moyenne.main(moyenne.java:36)
    les codes
    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
    public class moyenne {
        public static void charger(double[] t){
     
      		double x=10;
      		int i=0;
      		while (x!=-1){
      		Terminal.ecrireStringln("DONNER LA VALEUR : ");
      		x=Terminal.lireDouble();
      		t[i]=x;
      		i++;	
      		}
        }
        public static void moyenne(double [] t){
     
        	int i=0;
        	double moy=0;
        	while (t[i]!=-1){
        	t[i]=Terminal.lireDouble();	
        	moy=moy/i;	
        	}
        	Terminal.ecrireDouble(moy/i);
        }
        public static void main(String[] args) {
     
        	double [] tab=new double [100];
        	charger(tab);
        	moyenne(tab);
        	System.out.println("Hello World!");
        }
    }
    merci bcp

  2. #2
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    Il faut que tu postes aussi ta classe Terminal.
    L'erreur se trouve à sa ligne 116
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Ouais enfin si on est logique, l'erreur se trouve plutôt à la ligne 27 de la méthode moyenne().

    Pourquoi on irait lire un nombre du terminal quand on essaie de calculer une moyenne ? C'est une erreur bien sûr.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre émérite Avatar de Cincinnatus
    Homme Profil pro
    Développeur d'applications métier
    Inscrit en
    Mars 2007
    Messages
    593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur d'applications métier
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 593
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    publicstaticvoid moyenne(double[] t){ 
     int i=0;
     double moy=0;
     while (t[i]!=-1){
       t[i]=Terminal.lireDouble();    
       moy=moy/i;    
     }
     Terminal.ecrireDouble(moy/i); }
    A quand la division par zéro ?

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Des erreurs, il y en a sur chaque ligne. Mais la division par zéro ne plante pas le programme. Du coup je propose de s'intéresser aux erreurs au fur et à mesure que les tests les montrent.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    Bien entendu c'est un code tout à fait bizarre (pourquoi faire x=10 alors qu'on assigne une valeur à x un peu plus bas )

    Il faut tout de même le code de "Terminal" on saura quels types de données sont vraiment acceptées et la stacktrace montre que c'est là d'où vient la 1ère erreur.
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

Discussions similaires

  1. [Toutes versions] Donnée absent dans champ. Erreur sur Calcul
    Par Aladin_23 dans le forum VBA Access
    Réponses: 4
    Dernier message: 23/04/2013, 22h11
  2. [DeskI Xi3] erreur de calcule sur les moyennes de delais
    Par gillou13 dans le forum Débuter
    Réponses: 3
    Dernier message: 21/03/2011, 16h04
  3. [Toutes versions] Pb Champ vide erreur sur calcul
    Par Aladin_23 dans le forum VBA Access
    Réponses: 7
    Dernier message: 18/01/2011, 10h50
  4. Comment calculer des moyennes sur des nombres positifs
    Par robertetgorgette dans le forum Access
    Réponses: 2
    Dernier message: 20/07/2006, 14h05
  5. erreur sur calcul
    Par Sendo dans le forum Access
    Réponses: 2
    Dernier message: 29/09/2005, 09h46

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