diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..539dba0 --- /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..26bd7c2 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 ,log , rate, abs, cube } private Double num1, num2; @@ -87,6 +87,9 @@ public Double calculateMono(MonoOperatorModes newMode, Double num) { if (newMode == MonoOperatorModes.square) { return num * num; } + if (newMode == MonoOperatorModes.cube) { + return num * num * num; + } if (newMode == MonoOperatorModes.squareRoot) { return Math.sqrt(num); } diff --git a/src/simplejavacalculator/UI.java b/src/simplejavacalculator/UI.java index 8e9cc4a..7c8d70e 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, butxpowerofy, butlog, butrate, butabs, butBinary, butCube; private final Calculator calc; private final String[] buttonValue = {"0", "1", "2", "3", "4", "5", "6", @@ -98,14 +98,15 @@ public UI() throws IOException { butSquare = new JButton("x*x"); butOneDividedBy = new JButton("1/x"); butCos = new JButton("Cos"); - butSin = new JButton("Sin"); + butSin = new JButton("Sin"); butTan = new JButton("Tan"); butxpowerofy = new JButton("x^y"); butlog = new JButton("log10(x)"); butrate = new JButton("x%"); butabs = new JButton("abs(x)"); butCancel = new JButton("C"); - butBinary = new JButton("Bin"); + butBinary = new JButton("Bin"); + butCube = new JButton("x^3"); calc = new Calculator(); @@ -131,6 +132,7 @@ public void init() { butEqual.setFont(font); butSquareRoot.setFont(font); butSquare.setFont(font); + butCube.setFont(font); butOneDividedBy.setFont(font); butCos.setFont(font); butSin.setFont(font); @@ -176,6 +178,7 @@ public void init() { panel.add(panelSub5); panelSub6.add(butSquare); + panelSub6.add(butCube); panelSub6.add(butSquareRoot); panelSub6.add(butOneDividedBy); panelSub6.add(butxpowerofy); @@ -200,6 +203,7 @@ public void init() { butMultiply.addActionListener(this); butDivide.addActionListener(this); butSquare.addActionListener(this); + butCube.addActionListener(this); butSquareRoot.addActionListener(this); butOneDividedBy.addActionListener(this); butCos.addActionListener(this); @@ -264,6 +268,10 @@ public void actionPerformed(ActionEvent e) { if (source == butSquare) { writer(calc.calculateMono(Calculator.MonoOperatorModes.square, reader())); } + + if (source == butCube) { + writer(calc.calculateMono(Calculator.MonoOperatorModes.cube, reader())); + } if (source == butSquareRoot) writer(calc.calculateMono(Calculator.MonoOperatorModes.squareRoot, reader())); diff --git a/src/simplejavacalculatorTest/CalculatorTest.java b/src/simplejavacalculatorTest/CalculatorTest.java index 1ea20f7..05438ab 100755 --- a/src/simplejavacalculatorTest/CalculatorTest.java +++ b/src/simplejavacalculatorTest/CalculatorTest.java @@ -67,6 +67,12 @@ void CalculateMonoSquareTest() { Assertions.assertEquals(9.0, calculator.calculateMono(Calculator.MonoOperatorModes.square, 3.0)); } + @Test + void CalculateMonoCubeTest() { + Calculator calculator = new Calculator(); + Assertions.assertEquals(27.0, calculator.calculateMono(Calculator.MonoOperatorModes.cube, 3.0)); + } + @Test void CalculateMonoSquareRootTest() { Calculator calculator = new Calculator(); @@ -82,19 +88,19 @@ void CalculateMonoOneDividedByTest() { @Test void CalculateMonoSinTest() { Calculator calculator = new Calculator(); - Assertions.assertEquals(0.5, calculator.calculateMono(Calculator.MonoOperatorModes.sin, java.lang.Math.PI / 6), 0.0000000001); + Assertions.assertEquals(0.5, calculator.calculateMono(Calculator.MonoOperatorModes.sin, Math.toDegrees(java.lang.Math.PI) / 6), 0.0000000001); } @Test void CalculateMonoCosTest() { Calculator calculator = new Calculator(); - Assertions.assertEquals(0.5, calculator.calculateMono(Calculator.MonoOperatorModes.cos, java.lang.Math.PI / 3), 0.0000000001); + Assertions.assertEquals(0.5, calculator.calculateMono(Calculator.MonoOperatorModes.cos, Math.toDegrees(java.lang.Math.PI) / 3), 0.0000000001); } @Test void CalculateMonoTanTest() { Calculator calculator = new Calculator(); - Assertions.assertEquals(1.0, calculator.calculateMono(Calculator.MonoOperatorModes.tan, java.lang.Math.PI / 4), 0.0000000001); + Assertions.assertEquals(1.0, calculator.calculateMono(Calculator.MonoOperatorModes.tan, Math.toDegrees(java.lang.Math.PI) / 4), 0.0000000001); } @Test @@ -115,5 +121,4 @@ void CalculateMonoAbsTest() { Assertions.assertEquals(3.0, calculator.calculateMono(Calculator.MonoOperatorModes.abs, -3.0)); Assertions.assertEquals(3.0, calculator.calculateMono(Calculator.MonoOperatorModes.abs, 3.0)); } - }