Bonsoir,
J'ai un petit problème, je dois créer un code qui permet de fiare les opérations arythmétique de base pour des fractions. J'ai cependant un nombre de message d'erreur complètement invraisemblable par rapport à mes méthdoes de calcul. Si j'en crois le compilateur, le reste du code semble correct. Voici mon code :
Et la classe d'exécution ou <<Classe principale>> :
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86 // La classe FRACTION2 pour permet la construction des fractions, je crois que mes erreurs sont dans cette classe// public class Fraction{ private int numerateur; private int denominateur; public int getNumerateur(){ return this.numerateur;} public int getDenomerateur(){ return this.denominateur;} public void setNumerateur(int numerateur){ this.numerateur = numerateur;} public void setDenominateur(int denominateur){this.denominateur = denominateur;} // Addition public Fraction addition (Fraction fract1, Fraction fract2, Fraction fract3) { if (fract1.Denominateur == fract2.Denominateur){ fract3.Denominateur = fract1.Denominateur * fract2.Denominateur; fract3.Numerateur = (( fract1.Numerateur*fract2.Denominateur) + (fract2.Numerateur * fract1.Numerateur)); } else { fract3.Denominateur= fract1.Denominateur; fract3.Numerateur= fract1.Numerateur+fract2.Numerateur; } return fract3; } //soustraction public Fraction soustraction (Fraction fract1, Fraction fract2, Fraction fract3) { if (fract1.Denominateur == fract2.Denominateur){ fract3.Denominateur = fract1.Denominateur * fract2.Denominateur; fract3.Numerateur = (( fract2.Numerateur*fract1.Denominateur) + (fract1.Numerateur * fract2.Denominateur)); } else { fract3.Denominateur= fract1.Denominateur; fract3.Numerateur= fract1.Numerateur-fract2.Numerateur; } return fract3; } // multiplication public Fraction multiplication (Fraction fract1, Fraction fract2, Fraction fract3) { fract3.Denominateur= fract1.Denominateur*fract2.Denominateur; fract3.Numerateur= fract1.Numerateur*fract2.Numerateur; return fract3; } //Division public Fraction division (Fraction fract1, Fraction fract2, Fraction fract3) { fract3.Denominateur= fract1.Numerateur*fract2.Denominateur; fract3.Numerateur= fract1.Denominateur*fract2.Numerateur; return fract3; } public class ApplicationFraction{ public static void main(String[ ] args){ Fraction f1 = new Fraction(1, 3); Fraction f2 = new Fraction(2, 5); Fraction f3 = new Fraction(3, 2); //Affichage des 3 fractions System.out.println("f1 : "+f1.getNumerateur()+"/"+f1.getDenomerateur()); System.out.println("f2 : "+f2.getNumerateur()+"/"+f2.getDenomerateur()); System.out.println("f3 : "+f3.getNumerateur()+"/"+f3.getDenomerateur()); //Tests des méthodes de calculs System.out.println("f1 - f2 = " + f1.soustraire(f2)); System.out.println("f3 / f1 = " + f3.diviser(f1)); System.out.println("f2 * f3 = " + f2.multiplier(f3)); } } }
J'ai tenté plusieurs façons pour les méthodes mais je tourne en rond.
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 public class Applicationfraction{ public static void main(String[ ] args){ Fraction f1 = new Fraction(1, 3); Fraction f2 = new Fraction(2, 5); Fraction f3 = new Fraction(3, 2); //Affichage des 3 fractions System.out.println("f1 : "+f1.getNumerateur()+"/"+f1.getDenomerateur()); System.out.println("f2 : "+f2.getNumerateur()+"/"+f2.getDenomerateur()); System.out.println("f3 : "+f3.getNumerateur()+"/"+f3.getDenomerateur()); //Tests des méthodes de calculs System.out.println("f1 - f2 = " + f1.soustraire(f2)); System.out.println("f3 / f1 = " + f3.diviser(f1)); System.out.println("f2 * f3 = " + f2.multiplier(f3)); } }
Merci de votre précieuse aide
Jonathan
Partager