Bonjour, désolé si mon cas vous semble trop simple.
Voici mon problème j'ai voulu mettre en pratique un petit exercice consistant à associé un tarif à un poids d'une lettre.
Au delà de 3kg il s'agit d'un colissimo nous n'avons plus à afficher le poids.
Le problème est que cela ne marche pas.
La première partie fonctionne.
A la fin du code la condition if (poidsmax=true) ne tient pas compte de la valeur de poidsmax(booléen) des conditions précédentes.
J'ai ajouté une simple condition de test pour mettre en évidence mon problème dans la seconde partie.
Exemple quand je saisie :
Quelle est le poids de votre lettre ? 22
Le poids de votre lettre est de : 22g
Pour info : poids de la lettre = 22 et poidsmax = false
Dans la condition if poidsmax=true poidsmax=true
Dans cet exemple 22g, la valeur poidsmax = false.
Seulement à la fin de la condition if (poidsdelalettre<=20), la valeur poidsmax = true ....
J'ai dû oublier quelque chose quelque part.
Quelqu'un a une idée d'une solution ?
Merci pour votre aide
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
54
55
56
57
58
59
60
61
62
63
64 public static void main(String args[]) { Scanner poids =new Scanner (System.in); System.out.print("Quelle est le poids de votre lettre ? "); int poidsdelalettre = poids.nextInt(); double tarifenvoi=0; boolean poidsmax=false; System.out.println("Le poids de votre lettre est de : "+poidsdelalettre+"g"); if (poidsdelalettre<=20) {tarifenvoi=0.61; poidsmax=false;} else if (poidsdelalettre<=50) {tarifenvoi=1.02; poidsmax=false;} else if (poidsdelalettre<=100) {tarifenvoi=1.55; poidsmax=false;} else if (poidsdelalettre<=250) {tarifenvoi=2.45; poidsmax=false;} else if (poidsdelalettre<=1000) {tarifenvoi=4.35; poidsmax=false;} else if (poidsdelalettre<=2000) {tarifenvoi=5.65; poidsmax=false;} else if (poidsdelalettre<=3000) {tarifenvoi=6.55; poidsmax=false;} else if (poidsdelalettre>3000) {poidsmax=true;}; System.out.println("Pour info : poids de la lettre = "+poidsdelalettre+" et poidsmax = "+poidsmax); if(poidsmax=true){System.out.println("Dans la condition if (poidsmax=true) poidsmax="+poidsmax);} else {System.out.println("poidsmax=false valeur = "+poidsmax);} } }
Partager