-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCalculator.java
103 lines (92 loc) · 2.13 KB
/
Calculator.java
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
public class Calculator{
private double first;
private double second;
private String oP;
private double resultat;
//constructeur
public Calculator(){
}
public double getFirst() {
return first;
}
public void setFirst(double first){
this.first=first;
}
public double getSecond() {
return second;
}
public void setSecond(double second){
this.second=second;
}
public String getOp() {
return oP;
}
public void setOp(String oP){
this.oP=oP;
}
public void operation(String str) {
first = second; // garde la 1er operande
second = 0; // initialise et mise à jour pour la 2ème operande
oP = str;
}
// pour l’évaluation quand on appuie sur la touche =
public void compute() {
if (oP == "+"){
second = first + second;
}
else if(oP=="-"){
second = first - second;
}
else if(oP=="*"){
second = first*second;
}
else if(oP=="/"){
second = first/second;
}
else if(oP=="pow"){
second = Math.pow(first,second);
}
else if(oP=="sqrt"){
second = Math.sqrt(first);
}
else if(oP=="!"){
if(first!=0){
second =Math.sqrt(2*Math.PI*first)*(Math.pow((first/2.718),first))*(1+(1/(12*first)));}
else{
second=1;
}
}
else if(oP=="ln"){
second =Math.log(first)/Math.log(2.71828);
}
}
//addition
public void add(){
operation("+");
}
//soustraction
public void subtract(){
operation("-");}
//multiplication
public void multiply(){operation("*");}
// division
public void divide(){operation("/");}
// factorielle d’un nombre (réel)
public void factorial(){operation("!");}
//puissance
public void pow(){operation("pow");}
// racine carrée d’un nombre
public void rootSquare(){operation("sqrt");}
// logarithme népérien
public void nepLog(){operation("ln");}
// remise à zéro quand on appuie sur la touche C
public void clear(){
first=0;
second=0;
oP="";
}
// renvoie la 2ème opérande
public double display(){
return second;
}
}