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); + } + + +} + + +