CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[JAVA]Probleme pour un DM 2

afa
afa
Niveau 10
11 novembre 2012 à 16:48:47

J'ai un second probleme avec mon autre partie du code que je mettrais ci dessous , enfaite quand je fais le calcul 90 000 - 80 000 je trouve 13 500 alors que je devrais trouver moins :hum:

voici le code :d)

if (Chiffredaffaires1 - objectif < 5000 ){
double PrimeObjectif11;
PrimeObjectif11 = (2 *0.01 * Chiffredaffaires1);
System.out.println( Nom111 +" aura une prime d'objectif de "+PrimeObjectif11);
PrimeObjectif1 = (int) (2 *0.01 * Chiffredaffaires1) ;}

if(Chiffredaffaires1 - objectif >= 5000 && Chiffredaffaires1 - objectif <= 10000){
double PrimeObjectif11;
PrimeObjectif11 = (6 *0.01 * Chiffredaffaires1);
System.out.println( Nom111 +" aura une prime d'objectif de " + PrimeObjectif11);
PrimeObjectif1 = (int) (6 *0.01 * Chiffredaffaires1); }

else if( Chiffredaffaires1 - objectif >= 10000 && Chiffredaffaires1 - objectif <= 15000){
double PrimeObjectif11;
PrimeObjectif11= (10 *0.01 * Chiffredaffaires1);
System.out.println( Nom111 +" aura une prime d'objectif de " +PrimeObjectif11);
PrimeObjectif1= (int) (10 *0.01 * Chiffredaffaires1); }

else if( Chiffredaffaires1 - objectif > 15000){
double PrimeObjectif11;
PrimeObjectif11= (15 *0.01 * Chiffredaffaires1);
System.out.println( Nom111 +" aura une prime d'objectif de " +PrimeObjectif11);
PrimeObjectif1= (int) (15 *0.01 * Chiffredaffaires1); }

dark_drow
dark_drow
Niveau 15
11 novembre 2012 à 22:11:09

sérieux le code est illisible, et je crois que ça à été dit dans l'autre topic

Bunyan
Bunyan
Niveau 17
11 novembre 2012 à 22:26:01

C'est illisible.

90 000 - 80 000, ça fait 10 000. Le langage ni la machine n'est en cause. Ton code l'est. Vérifie que tu fais bien cette opération, et pas une autre.

afa
afa
Niveau 10
12 novembre 2012 à 18:18:07

Je comprends désolée ! voici le lien paste bin :d) http://pastebin.com/u7psEhEw

Enfaite normalement sa dois faire 15% du chiffre d'affaire si le chiffre d'affaires est supérieur a 15000 et ainsi de suite sur les autre formules mais y'as un probleme et je ne vois pas ou :/

dark_drow
dark_drow
Niveau 15
12 novembre 2012 à 19:15:38

déja tu as de sérieux problème de lisibilité dans ton code, c'est normal que tu galère un peu... J'ai pris juste un bout de code de ton pastebin et je l'ai mis dans mon editeur de texte :
https://dl.dropbox.com/u/6849682/diff.jpg

bref, je pense que ton problème vient de ce genre de bout de code :
PrimeObjectif1= (int) (15 *0.01 * Chiffredaffaires1);

- PrimeObjectif1 est un int (un nombre entier !)
- le calcul 15 *0.01 * Chiffredaffaires1 te donne un résultat réel.

en admettant que Chiffredaffaires1 = 1, ton calcul sera
15*0.01*1 = 1.5
sauf que tu fait (int)(15*0.01*1) et le résultat de cette instruction est 1 car si tu met un réel dans un entier il va te tronquer ton nombre à la virgule :peur:

Bref si tu fais des calcul avec des virgules il faut les mettre dans des variables typées "double" et pas "int"

tbop2
tbop2
Niveau 10
12 novembre 2012 à 19:48:33

Le code est illisible.
Il n'y a pas de syntaxe choisie sur pastebin.
On ne sait même pas ce qu'il est censé faire (quelles sont les entrées de la méthode ? Quelles sont les sorties ? Quel est le type des variables ?).
Tu n'as même pas pris l'initiative de debuguer ton code tout simplement auparavant.

Tant que tu n'auras pas fait tout ça personne ne t'aidera.

PS: J'ai pas compris l'histoire du (int)... le code doit être bien illisible car je n'ai vu aucun int de marqué. De toute façon le résultat est entier donc tronquer un entier ne fera pas apparaître l'erreur mentionnée.

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment