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 :

Précision donnée dans une division


Sujet :

avec Java

  1. #1
    Membre habitué
    Homme Profil pro
    sans
    Inscrit en
    Mai 2007
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mai 2007
    Messages : 483
    Points : 193
    Points
    193
    Par défaut Précision donnée dans une division
    Bonjour,

    Débutant en Java, je cherche à effectuer une division en obtenant un résultat au millième mais j'obtiens un résultat au dixième.
    NB: Mon code demande 6 entiers que l'on stocke dans un tableau avant d'afficher leur moyenne

    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
    import java.util.Scanner;
    public class toto
    	{
    		public static void main(String[] args)
    			{
    				int[] tabnum;	// Déclare tabnum comme étant numérique
    				tabnum = new int[6] ;	// crée un nouveau tableau de taille 6
    				int n = 0;
    				int PlusGrandNbre = 0;
    				for (int i=0;i<6;i++)
    					{
    						n = i+1;
    						System.out.print("Saisissez le nombre n° " + n);
    						Scanner sc =new Scanner(System.in);
    						int valeur_saisie = sc.nextInt();
     
    						tabnum[i] = valeur_saisie ;
    						if (i==0)
    							{
    								PlusGrandNbre = valeur_saisie;
    							}
    						if (PlusGrandNbre < valeur_saisie)
    							{
    								PlusGrandNbre = valeur_saisie;
    							}
    					}
     
    				System.out.println("Tableau saisi : ");
    //				sc.close();		// Elimine le warning présent dans Eclipse
    				System.out.println("{ ");
    				for (int i = 0; i<6;i++)
    					{
    						System.out.print(tabnum[i]);
    						if (i !=5)
    							{
    								System.out.print(", ");
    							}
    					}
    				System.out.print("}");
    				System.out.println("La + grande valeur saisie vaut " + PlusGrandNbre);
     
    				// Calcul de la valeur moyenne
    				int numerateur = 0;
    				for (int i=0;i<6;i++)
    					{
    						numerateur = numerateur + tabnum[i];
    					}
    				double moy = 0.0;
    				moy = (double)(numerateur / 6);
    			 	System.out.println("la somme des 6 valeurs vaut " + numerateur );
    			 	System.out.print("pour une moyenne de " + moy);
    			}
    	}
    Pourriez-vous me mettre sur la piste, svp, merci.

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Je ne sais pas de quelle division tu parles qui serait au 10ème : je ne vois que des divisions entières dans ton code. En Java, un int divisé par un int donne un int. Tu le convertis en double ici moy = (double)(numerateur / 6); mais c'est trop tard. Pour faire une division non entière, il faut "convertir" avant la division : moy = numerateur / 6d; par exemple.

  3. #3
    Membre habitué
    Homme Profil pro
    sans
    Inscrit en
    Mai 2007
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mai 2007
    Messages : 483
    Points : 193
    Points
    193
    Par défaut
    Bonjour,

    Je n'avais pas compris ce point là.
    Merci joel.drigo, ça fonctionne maintenant.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/06/2005, 18h32
  2. Saisie de données dans une procédure stockée
    Par Hastaroth dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/10/2004, 10h54
  3. Vérification du type de données dans une procédure stockée
    Par biroule dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 16/09/2004, 12h20
  4. Paradox 7 Comment trier et marquer données dans une DBgrid
    Par technico dans le forum Bases de données
    Réponses: 12
    Dernier message: 04/07/2004, 12h08
  5. Données dans une DBgrid
    Par camino dans le forum Bases de données
    Réponses: 4
    Dernier message: 18/02/2004, 04h40

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