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 :

probleme rencontré par un débutant :D


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 20
    Par défaut probleme rencontré par un débutant :D
    bon voila une partie de énoncé que je peut pas résoudre;

    "Des frais de transports des biens personnels du client sont également applicables. Un camion peut transporter jusqu'à 100m^3 de biens. La compagnie charge 100$ supplémentaire pour chaque camion envoyés. Attention, le premier camion est compris dans le prix de base!!! Donc si on nécessite deux camions, on ne paye que 100$ supplémentaire. "

    moi je veux calculer le nombre de camions, donc j'ai codé le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if(i>100)                        //soit i le volume a démenager
         int j = (i/100)            //ca me donne le nombre de camion
    le problème c'est que ce n'est applicable que si i est égal a des nombres 200 300 400 500 ... et par exemple si i est égal a 304 dans ce cas là j'aurai 3,04 et puisque j et de type int il prendra juste le 3 donc j'aurai juste 3 camions au lieu de 4 en vérité j'ai pensé à la mettre de type double mais ça servira a rien parce que ce qu'il me faut c'est le nombre de camion et pas la division

    Merci pour votre aide....

  2. #2
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Par défaut
    Voila qu'on fait les devoirs des autres arf

    Bon pour commencer c pas
    j=i/100
    mais plustot
    j=(i-100)/100
    Etant donné que tu compte pas le premier camion.
    ensuite si tu a besoin de prendre en compte le resultat apres la virgule aussi tu dois obligatoirement passer par un double


    Sauf si tu triche

    si tu reste en int, tu prends le resultat de ta division
    exemple
    i=320
    j=(i-100)/100
    j=2.2
    comme j est un int j=2

    jusque la ca va ^^

    apres tu triche

    tu regarde si i est un modulo de 100
    i % 100

    si ton modulo te renvois 0 alors tu a pas de chiffres apres la virgule
    si sa te renvois 1 tu a des chiffres apres la virgule

    apres tu mets sa dans un pauvre if else pour ajouter 1 camion en plus si besoin

    Voila



    Dis moi si sa te va

  3. #3
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mexique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 328
    Par défaut
    Bonjour,

    Ou bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     int camionsSupl = 0;
             double cubeTot = 1150;
             double cubeCam = 100;
             camionsSupl = (int)Math.ceil((double)(cubeTot - cubeCam) / (double)cubeCam); 
             System.out.print("Nombre de camions supplémentaires : " + camionsSupl);

    Cordialement.

    Dan

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2007
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2007
    Messages : 77
    Par défaut
    Ma solution perso:

    int j = (int)((float)(i/100)+0.99)

    Je me suis peut être trompé dans les cast, mais si i est un entier (il l'est) alors le résultat sera 4 pour j compris entre 3.01 et 4, et 3 pour les chiffres entre 2.01 et 3....

    Si tu change de division le principe reste de rajouter 0.99 au résultat puis de caster....

  5. #5
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Heu... vous chercher vraiment les complications !

    Il suffit de rajouter 1 lorsque la valeur trouvé est plus petite que celle nécessaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	// On calcule approximativement le nombre de camion :
    	int nbCamions = nbMetreCubes/100;
    	// Si le nombre de mètres cude des camions est inférieur à la quantité démandé :
    	if (nbCamions*100<nbMetreCubes) {
    		// Alors on doit tout simplement ajouter 1 camion :
    		nbCamions++;
    	}
    a++

    PS : i et j sont vraiment de très mauvais choix de noms de variables dans ce cas !!

  6. #6
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mexique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 328
    Par défaut
    Bonjour,

    Et on oublie de soustraire les 100 m^3 du 1er camion!

    Cordialement.

    Dan

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

Discussions similaires

  1. [wamp] Probleme d´acces par IP
    Par sandji dans le forum Apache
    Réponses: 1
    Dernier message: 10/07/2006, 13h07
  2. [Probleme] tri croissant - tableaux (débutant)
    Par tarnak dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 01/07/2006, 21h01
  3. probleme de type pour débutant confirmé
    Par taki_38 dans le forum Langage
    Réponses: 4
    Dernier message: 05/05/2006, 17h55
  4. Réponses: 1
    Dernier message: 14/11/2005, 11h04
  5. [interbase 6]probleme valeur par defaut dans lookupcombobox
    Par macadam314 dans le forum Bases de données
    Réponses: 1
    Dernier message: 09/05/2005, 14h24

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