Bonjour,
J'ai écrit un petit programme qui est sensé testé l'évolution de mon "capital" en fonction du résultat d'un lancer de pièce.
Le lancer est caractérisé par un test de capital : "si il est multiple de 3"
--> un type de probabilité
else --> un autre
Je stocke les données dans un tableau pour les renvoyer par après.
Mais lorsque je veux tester ma classe (en vérifiant ma sortie à la console avec des System.out.println)
J'ai d'abord mon résultat face/pile (ce qui semble correcte) mais ensuite j'ai deux incrémentations ou "desincrémentations" au lieu d'une.
Je ne trouve pas le problème dans mon code...
Quelqu'un aurait-il la sagesse d'y jeter un oeil ?
Voici mon code pour la classe :
Et pour la classe qui me sert de test :
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 public class Testd { public Testd(String m){ int []stockage =new int[100]; int a = Integer.parseInt(m); for(int i = 0; i < 100; i++) { if (a%3==0) {double pe=0.095; double x = Math.random(); if (x<=pe) {System.out.println("face"); int b = ++a; System.out.println(b); stockage[i]=++a; a=stockage[i];} else {System.out.println("pile"); int b = --a; System.out.println(b); stockage[i]=--a; a=stockage[i];} } else{ double pe=0.745; double x = Math.random(); if (x <=pe) {System.out.println("face"); int b = ++a; System.out.println(b); stockage[i]=++a; a=stockage[i];} else {System.out.println("pile"); int b = --a; System.out.println(b); stockage[i]=--a; a=stockage[i];} } System.out.println(stockage[i]); } } }
En remerciant l'âme charitable !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 import java.util.Scanner; public class TestpourD { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Veuillez donner votre fond :"); String m1 = sc.nextLine(); Testd lancer = new Testd(m1); } }
Partager