diff --git a/.classpath b/.classpath
new file mode 100644
index 0000000..287dc14
--- /dev/null
+++ b/.classpath
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.gitignore b/.gitignore
index b0cbf6e..85e6efb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,4 @@
# Mac OS System
.DS_Store*
._*
+/bin/
diff --git a/.project b/.project
new file mode 100644
index 0000000..02992da
--- /dev/null
+++ b/.project
@@ -0,0 +1,17 @@
+
+
+ Simple-Java-Calculator
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/src/simplejavacalculator/Calculator.java b/src/simplejavacalculator/Calculator.java
index 18ad91c..9348f06 100644
--- a/src/simplejavacalculator/Calculator.java
+++ b/src/simplejavacalculator/Calculator.java
@@ -23,7 +23,7 @@ public enum BiOperatorModes {
}
public enum MonoOperatorModes {
- square, squareRoot, oneDividedBy, cos, sin, tan ,log , rate, abs
+ square, squareRoot, oneDividedBy, cos, sin, tan, inverseCos ,log , rate, abs
}
private Double num1, num2;
@@ -109,6 +109,9 @@ public Double calculateMono(MonoOperatorModes newMode, Double num) {
return Math.tan(Math.toRadians(num));
}
+ if(newMode == MonoOperatorModes.inverseCos) {
+ return Math.toDegrees(Math.acos(num));
+ }
if (newMode == MonoOperatorModes.log) {
return log10(num);
}
diff --git a/src/simplejavacalculator/UI.java b/src/simplejavacalculator/UI.java
index 8e9cc4a..79e0f7f 100644
--- a/src/simplejavacalculator/UI.java
+++ b/src/simplejavacalculator/UI.java
@@ -51,7 +51,7 @@ public class UI implements ActionListener {
private final JTextArea text;
private final JButton but[], butAdd, butMinus, butMultiply, butDivide,
butEqual, butCancel, butSquareRoot, butSquare, butOneDividedBy,
- butCos, butSin, butTan, butxpowerofy, butlog, butrate, butabs, butBinary;
+ butCos, butSin, butTan, butInverseCos, butxpowerofy, butlog, butrate, butabs, butBinary;
private final Calculator calc;
private final String[] buttonValue = {"0", "1", "2", "3", "4", "5", "6",
@@ -99,7 +99,8 @@ public UI() throws IOException {
butOneDividedBy = new JButton("1/x");
butCos = new JButton("Cos");
butSin = new JButton("Sin");
- butTan = new JButton("Tan");
+ butTan = new JButton("Tan");
+ butInverseCos = new JButton("Cos^-1");
butxpowerofy = new JButton("x^y");
butlog = new JButton("log10(x)");
butrate = new JButton("x%");
@@ -135,6 +136,7 @@ public void init() {
butCos.setFont(font);
butSin.setFont(font);
butTan.setFont(font);
+ butInverseCos.setFont(font);
butxpowerofy.setFont(font);
butlog.setFont(font);
butrate.setFont(font);
@@ -184,6 +186,7 @@ public void init() {
panelSub7.add(butCos);
panelSub7.add(butSin);
panelSub7.add(butTan);
+ panelSub7.add(butInverseCos);
panel.add(panelSub7);
panelSub8.add(butlog);
@@ -205,6 +208,7 @@ public void init() {
butCos.addActionListener(this);
butSin.addActionListener(this);
butTan.addActionListener(this);
+ butInverseCos.addActionListener(this);
butxpowerofy.addActionListener(this);
butlog.addActionListener(this);
butrate.addActionListener(this);
@@ -279,6 +283,9 @@ public void actionPerformed(ActionEvent e) {
if (source == butTan)
writer(calc.calculateMono(Calculator.MonoOperatorModes.tan, reader()));
+
+ if (source == butInverseCos)
+ writer(calc.calculateMono(Calculator.MonoOperatorModes.inverseCos, reader()));
if (source == butlog)
writer(calc.calculateMono(Calculator.MonoOperatorModes.log, reader()));
diff --git a/src/simplejavacalculatorTest/CalculatorTest.java b/src/simplejavacalculatorTest/CalculatorTest.java
index 1ea20f7..67cafcd 100755
--- a/src/simplejavacalculatorTest/CalculatorTest.java
+++ b/src/simplejavacalculatorTest/CalculatorTest.java
@@ -97,6 +97,12 @@ void CalculateMonoTanTest() {
Assertions.assertEquals(1.0, calculator.calculateMono(Calculator.MonoOperatorModes.tan, java.lang.Math.PI / 4), 0.0000000001);
}
+ @Test
+ void CalculateMonoInverseCosTest() {
+ Calculator calculator = new Calculator();
+ Assertions.assertEquals(90.0, calculator.calculateMono(Calculator.MonoOperatorModes.inverseCos, 0.0), 0.0000000001);
+ }
+
@Test
void CalculateMonoLogTest() {
Calculator calculator = new Calculator();