diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 0000000..116ef1f
Binary files /dev/null and b/.DS_Store differ
diff --git a/pom.xml b/pom.xml
index e7cb4f6..c4da364 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,6 +7,18 @@
com.zipcodewilmington
scientific_calculator
1.0-SNAPSHOT
+
+
+ junit
+ junit
+ 4.12
+ test
+
+
+
+ 8
+ 8
+
\ No newline at end of file
diff --git a/src/.DS_Store b/src/.DS_Store
new file mode 100644
index 0000000..53556cd
Binary files /dev/null and b/src/.DS_Store differ
diff --git a/src/main/.DS_Store b/src/main/.DS_Store
new file mode 100644
index 0000000..034c5d6
Binary files /dev/null and b/src/main/.DS_Store differ
diff --git a/src/main/java/.DS_Store b/src/main/java/.DS_Store
new file mode 100644
index 0000000..d197e28
Binary files /dev/null and b/src/main/java/.DS_Store differ
diff --git a/src/main/java/com/.DS_Store b/src/main/java/com/.DS_Store
new file mode 100644
index 0000000..119129f
Binary files /dev/null and b/src/main/java/com/.DS_Store differ
diff --git a/src/main/java/com/zipcodewilmington/.DS_Store b/src/main/java/com/zipcodewilmington/.DS_Store
new file mode 100644
index 0000000..2b34863
Binary files /dev/null and b/src/main/java/com/zipcodewilmington/.DS_Store differ
diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/Console.java b/src/main/java/com/zipcodewilmington/scientificcalculator/Console.java
index 83f0e97..6834bdb 100644
--- a/src/main/java/com/zipcodewilmington/scientificcalculator/Console.java
+++ b/src/main/java/com/zipcodewilmington/scientificcalculator/Console.java
@@ -15,6 +15,13 @@ public static void println(String output, Object... args) {
print(output + "\n", args);
}
+ public static int getIntegerInput(String prompt) {
+ Scanner scanner = new Scanner(System.in);
+ println(prompt);
+ int userInput = scanner.nextInt();
+ return userInput;
+ }
+
public static String getStringInput(String prompt) {
Scanner scanner = new Scanner(System.in);
println(prompt);
@@ -22,11 +29,79 @@ public static String getStringInput(String prompt) {
return userInput;
}
- public static Integer getIntegerInput(String prompt) {
- return null;
+ public static Double getDoubleInput(String prompt) {
+ Scanner scanner = new Scanner(System.in);
+ println(prompt);
+ double userInput = scanner.nextDouble();
+ return userInput;
+
}
- public static Double getDoubleInput(String prompt) {
- return null;
+ public static double add(double i, double j) {
+
+ return i + j;
+ }
+
+ public static double subtraction(double i, double j) {
+
+ return i - j;
+
+
+ }
+
+ public static double multiplication(double i, double j) {
+
+ return i * j;
+ }
+
+ public static double division(double i, double j) {
+
+ return i / j;
+ }
+
+ public static double square(double i) {
+
+ return i * i;
+ }
+
+ public static double squareRoot(double i) {
+
+ return Math.sqrt(i);
+ }
+
+ public static double exponents(double i, double j) {
+
+ return Math.pow(i, j);
+ }
+
+ public static double inverse(double i) {
+ String sNumber = (String) String.format("%.2f", (1 / i));
+ Double newNumber = Double.parseDouble(sNumber);
+ return (newNumber);
+ }
+
+ public static double sin(double i) {
+ String sNumber1 = (String) String.format("%.2f", (Math.sin(i)));
+ Double newSin = Double.parseDouble(sNumber1);
+ return (newSin);
+ }
+
+ public static double cos(double i) {
+ String sNumber2 = (String) String.format("%.2f", (Math.cos(i)));
+ Double newCos = Double.parseDouble(sNumber2);
+ return (newCos);
+ }
+
+ public static double tan(double i) {
+ String sNumber3 = (String) String.format("%.2f", (Math.tan(i)));
+ Double newTan = Double.parseDouble(sNumber3);
+ return (newTan);
+ }
+
+ public static double factorial(double i) {
+ if (i == 0)
+ return 1;
+ else
+ return (i * factorial(i-1));
}
-}
+}
\ No newline at end of file
diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java b/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java
index 5f42132..f1dbc90 100644
--- a/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java
+++ b/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java
@@ -6,12 +6,72 @@
public class MainApplication {
public static void main(String[] args) {
Console.println("Welcome to my calculator!");
- String s = Console.getStringInput("Enter a string");
- Integer i = Console.getIntegerInput("Enter an integer");
- Double d = Console.getDoubleInput("Enter a double.");
+ System.out.println("1.Addition");
+ System.out.println("2.Subtraction");
+ System.out.println("3.Multiplication");
+ System.out.println("4.Division");
+ System.out.println("5.Square");
+ System.out.println("6.Square Root");
+ System.out.println("7.Exponents");
+ System.out.println("8.Inverse");
+ System.out.println("9.Sine");
+ System.out.println("10.Cosine");
+ System.out.println("11.Tangent");
+ System.out.println("12.Factorial");
+ int option=Console.getIntegerInput("Enter an option");
- Console.println("The user input %s as a string", s);
- Console.println("The user input %s as a integer", i);
- Console.println("The user input %s as a d", d);
+try {
+ Double n1 = Console.getDoubleInput("Enter an integer");
+ String selected;
+ Double n2;
+ switch (option) {
+
+ case 1:
+ n2 = Console.getDoubleInput("Enter an integer");
+ System.out.println(Console.add(n1, n2));
+ break;
+ case 2:
+ n2 = Console.getDoubleInput(selected = "Subtraction of integers");
+ System.out.println(Console.subtraction(n1, n2));
+ break;
+ case 3:
+ n2 = Console.getDoubleInput("Multiplication of integers");
+ System.out.println(Console.multiplication(n1, n2));
+ break;
+ case 4:
+ n2 = Console.getDoubleInput("Division of integers");
+ System.out.println(Console.division(n1, n2));
+ break;
+ case 5:
+ System.out.println(Console.square(n1));
+ break;
+ case 6:
+ System.out.println(Console.squareRoot(n1));
+ break;
+ case 7:
+ n2 = Console.getDoubleInput("Exponents of integers");
+ System.out.println(Console.exponents(n1, n2));
+ break;
+ case 8:
+ System.out.println(Console.inverse(n1));
+ break;
+ case 9:
+ System.out.println(Console.sin(n1));
+ break;
+ case 10:
+ System.out.println(Console.cos(n1));
+ break;
+ case 11:
+ System.out.println(Console.tan(n1));
+ break;
+ case 12:
+ System.out.println(Console.factorial(n1));
+ break;
+ default:
+ System.out.println("Select option again");
+ }
+} catch (Exception e) {
+ Console.println("Err");
+}
}
}
diff --git a/src/test/java/com/zipcodewilmington/scientific_calculator/TestMainApplication.java b/src/test/java/com/zipcodewilmington/scientific_calculator/TestMainApplication.java
index 94e8d98..a784961 100644
--- a/src/test/java/com/zipcodewilmington/scientific_calculator/TestMainApplication.java
+++ b/src/test/java/com/zipcodewilmington/scientific_calculator/TestMainApplication.java
@@ -1,7 +1,117 @@
package com.zipcodewilmington.scientific_calculator;
+import com.zipcodewilmington.scientificcalculator.Console;
+import org.junit.Assert;
+import org.junit.Test;
+//import java.io.Console;
+
+import static org.junit.Assert.*;
/**
* Created by leon on 2/9/18.
*/
public class TestMainApplication {
+@Test
+ public void addTest() {
+ Double result = Console.add(3.7, 5.8);
+ Double actual = 9.5;
+ Assert.assertEquals(actual, result);
+}
+@Test
+ public void subtractionTest() {
+
+ Double result = Console.subtraction(3.6, 5.2);
+ Double actual = -1.6;
+ Assert.assertEquals(actual, result);
+}
+@Test
+ public void multiplicationTest() {
+
+ Double result = Console.multiplication(5, 6);
+ Double actual = 30.0;
+ Assert.assertEquals(actual, result);
+}
+@Test
+ public void divisionTest() {
+
+ Double result = Console.division(10, 5);
+ Double actual = 2.0;
+ Assert.assertEquals(actual, result);
+}
+@Test
+ public void squareTest() {
+
+ Double result = Console.square(10);
+ Double actual = 100.0;
+ Assert.assertEquals(actual, result);
}
+@Test
+ public void squareRootTest() {
+
+ Double result = Console.squareRoot(100);
+ Double actual = 10.0;
+ Assert.assertEquals(actual, result);
+}
+@Test
+ public void exponentsTest()
+
+ {
+
+ Double result = Console.exponents(5, 2);
+ Double actual = 25.0;
+ Assert.assertEquals(actual, result);
+ }
+@Test
+ public void inverseTest()
+
+ {
+
+ Double result = Console.inverse(5);
+ Double actual = 0.20;
+ Assert.assertEquals(actual, result);
+ }
+
+ @Test
+ public void inverseTest2()
+
+ {
+
+ Double result = Console.cos(5);
+ Double actual =0.28;
+ Assert.assertEquals(actual, result);
+ }
+
+ @Test
+ public void inverseTest3()
+
+ {
+
+ Double result = Console.tan(5);
+ Double actual =-3.38;
+ Assert.assertEquals(actual, result);
+ }
+
+ @Test
+ public void inverseTest4()
+
+ {
+
+ Double result = Console.sin(5);
+ Double actual =-0.96;
+ Assert.assertEquals(actual, result);
+ }
+
+ @Test
+ public void inverseTest5()
+
+ {
+
+ Double result = Console.factorial(2);
+ Double actual =2.0;
+ Assert.assertEquals(actual, result);
+ }
+
+
+}
+
+
+