-
Notifications
You must be signed in to change notification settings - Fork 627
/
Copy pathScientific_Calculator.java
100 lines (80 loc) · 2.84 KB
/
Scientific_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
import java.util.Scanner;
import java.lang.Math;
public class ScientificCalculator {
private double firstNumber;
private double secondNumber;
private String operation;
public ScientificCalculator() {
this.firstNumber = 0.0;
this.secondNumber = 0.0;
this.operation = "";
}
public void setFirstNumber(double firstNumber) {
this.firstNumber = firstNumber;
}
public void setSecondNumber(double secondNumber) {
this.secondNumber = secondNumber;
}
public void setOperation(String operation) {
this.operation = operation;
}
public double calculate() {
double result = 0.0;
switch (this.operation) {
case "+":
result = this.firstNumber + this.secondNumber;
break;
case "-":
result = this.firstNumber - this.secondNumber;
break;
case "*":
result = this.firstNumber * this.secondNumber;
break;
case "/":
result = this.firstNumber / this.secondNumber;
break;
case "^":
result = Math.pow(this.firstNumber, this.secondNumber);
break;
case "sqrt":
result = Math.sqrt(this.firstNumber);
break;
case "sin":
result = Math.sin(this.firstNumber);
break;
case "cos":
result = Math.cos(this.firstNumber);
break;
case "tan":
result = Math.tan(this.firstNumber);
break;
default:
throw new IllegalArgumentException("Invalid operation");
}
return result;
}
public static void main(String[] args) {
ScientificCalculator calculator = new ScientificCalculator();
// Get the user input
Scanner scanner = new Scanner(System.in);
System.out.println("Welcome to the scientific calculator!");
while (true) {
System.out.println("Enter the first number: ");
calculator.setFirstNumber(scanner.nextDouble());
System.out.println("Enter the second number: ");
calculator.setSecondNumber(scanner.nextDouble());
System.out.println("Enter the operation (+, -, *, /, ^, sqrt, sin, cos, tan): ");
calculator.setOperation(scanner.next());
// Calculate the result
double result = calculator.calculate();
// Display the result
System.out.println("The result is: " + result);
System.out.println("Do you want to continue? (y/n)");
String answer = scanner.next();
if (answer.equalsIgnoreCase("n")) {
break;
}
}
scanner.close();
}
}