From f847f6e35476ec6ffa4dc9ee0cfc829aec2254e1 Mon Sep 17 00:00:00 2001 From: cay Date: Sat, 30 Oct 2021 20:49:46 -0400 Subject: [PATCH 01/16] added initial input and output portion of calculator --- .../scientificcalculator/Calculator.java | 28 +++++++++++++++++++ .../scientificcalculator/MainApplication.java | 10 +++---- 2 files changed, 32 insertions(+), 6 deletions(-) create mode 100644 src/main/java/com/zipcodewilmington/scientificcalculator/Calculator.java diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/Calculator.java b/src/main/java/com/zipcodewilmington/scientificcalculator/Calculator.java new file mode 100644 index 00000000..b0c80c89 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/Calculator.java @@ -0,0 +1,28 @@ +package com.zipcodewilmington.scientificcalculator; + +import java.security.Principal; + +public class Calculator { + public static void startCalc(Integer retries) { + Console.println("Please enter 1 for a Basic Calculator or 2 for a Scientific Calculator."); + String i = Console.getStringInput("Enter an integer!"); + if (i.equals("1")) { + //return basicCalc; + Console.println("This is where I will return a Basic Calc."); + } else if (i.equals("2")) { + //return scientificCalc; + Console.println("This is where I will return a Scientific Calc."); + } else if (retries < 5) { + Console.println("User input %s is invalid.", i); + retries += 1; + startCalc(retries); + } else { + Console.println("User input %s is invalid.", i); + Console.println("User has surpassed max number of retries."); + } + } + + public static String displayOutput() { + return null; + } +} diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java b/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java index 5f421325..f3b52213 100644 --- a/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java @@ -4,14 +4,12 @@ * Created by leon on 2/9/18. */ 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."); + Calculator.startCalc(0); + - 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); } } From 6d184f2097238a978b0c258d1baf039d7505b22c Mon Sep 17 00:00:00 2001 From: c-poteat Date: Sat, 30 Oct 2021 21:51:02 -0400 Subject: [PATCH 02/16] I have uploaded my section --- .../scientificcalculator/scientificCalc.java | 86 +++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 src/main/java/com/zipcodewilmington/scientificcalculator/scientificCalc.java diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/scientificCalc.java b/src/main/java/com/zipcodewilmington/scientificcalculator/scientificCalc.java new file mode 100644 index 00000000..79e4a7a4 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/scientificCalc.java @@ -0,0 +1,86 @@ +import java.lang.Math; +public class scientificCalc { + + /* + Scientific Features + Switch display mode (binary, octal, decimal, hexadecimal) + switchDisplayMode() should rotate through the options + switchDisplayMode(String mode) should set the display to the mode given + Memory - Store up to one numeric value in memory for recall later (default to 0) * + + input = + (M+ key) Add the currently displayed value to the value in memory (store in memory and update display) * + (MC key) Reset memory * + (MRC key) Recall the current value from memory to the display * + + // Switch trig units mode (Degrees, Radians) + // switchUnitsMode() should rotate through the options + // switchUnitsMode(String mode) should set the trig units to the type given + + +// ex (inverse natural logarithm) + */ + public scientificCalc() { + } + + public static double sine() { + + return Math.sin(i); + } + + public double cosign() { + + return Math.cos(i); + } + + public double tangent() { + + return Math.tan(i); + // will return a double + } + + public double inverseSine() { + + return (int) Math.asin(i); + //will return a int; + } + + public double inverseCoSine() { + + return (int) Math.acos(i); + //will return a int; + } + + public double inverseTangent() { + + return Math.atan(i); + // will print double + } + + public double logarithm() { + // natural + return Math.log(i); + } + + public double logarithm10() { + + return Math.log10(i); + } + + public long factorial() { + long num = i; + // probably need to incorporate BigInteger; + int i=1; + int fact=1; + while(i<=num) { + fact=fact*i; + i++; + } + return(fact); + } + } + + + + + From 0ecf0f7958ade2c8c752d67b0091b8a499c0d0ca Mon Sep 17 00:00:00 2001 From: cay Date: Sun, 31 Oct 2021 15:05:41 -0400 Subject: [PATCH 03/16] added display output --- .../scientificcalculator/Calculator.java | 32 +++++++++++++++---- .../scientificcalculator/Console.java | 2 ++ .../scientificcalculator/MainApplication.java | 5 +-- 3 files changed, 31 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/Calculator.java b/src/main/java/com/zipcodewilmington/scientificcalculator/Calculator.java index b0c80c89..fabea5e4 100644 --- a/src/main/java/com/zipcodewilmington/scientificcalculator/Calculator.java +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/Calculator.java @@ -1,17 +1,30 @@ package com.zipcodewilmington.scientificcalculator; +import sun.lwawt.macosx.CPrinterDevice; + import java.security.Principal; public class Calculator { - public static void startCalc(Integer retries) { + String output; + String calcState; + Integer retries; + public Calculator(String op) { + output = op; + calcState = null; + retries = 0; + } + + public void startCalc(Integer retries) { Console.println("Please enter 1 for a Basic Calculator or 2 for a Scientific Calculator."); String i = Console.getStringInput("Enter an integer!"); if (i.equals("1")) { - //return basicCalc; - Console.println("This is where I will return a Basic Calc."); + Console.println("This calculator does the following:"); + Console.println( "add, subtract, multiply, divide, calculate the square,"); + Console.println("take the square root, variable exponentiation, take the inverse, and switch signs."); + setCalcState(i); } else if (i.equals("2")) { - //return scientificCalc; Console.println("This is where I will return a Scientific Calc."); + setCalcState(i); } else if (retries < 5) { Console.println("User input %s is invalid.", i); retries += 1; @@ -22,7 +35,14 @@ public static void startCalc(Integer retries) { } } - public static String displayOutput() { - return null; + public void displayOutput(String outResult) { + + output = outResult; + //Console.println(outResult); + } + + public void setCalcState(String inputReceived){ + calcState = inputReceived; + } } diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/Console.java b/src/main/java/com/zipcodewilmington/scientificcalculator/Console.java index 83f0e97f..d41781b7 100644 --- a/src/main/java/com/zipcodewilmington/scientificcalculator/Console.java +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/Console.java @@ -23,10 +23,12 @@ public static String getStringInput(String prompt) { } public static Integer getIntegerInput(String prompt) { + return null; } public static Double getDoubleInput(String prompt) { + return null; } } diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java b/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java index f3b52213..7d195ac8 100644 --- a/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java @@ -7,9 +7,10 @@ public class MainApplication { public static void main(String[] args) { + Calculator calc = new Calculator("0"); Console.println("Welcome to my calculator!"); - Calculator.startCalc(0); - + calc.startCalc(0); + calc.displayOutput("2"); } } From 4d83ac4130eef48bcc9af2fe846d9ea08784444e Mon Sep 17 00:00:00 2001 From: c-poteat Date: Sun, 31 Oct 2021 15:15:31 -0400 Subject: [PATCH 04/16] Current code --- .../scientificcalculator/MainApplication.java | 6 +- .../scientificcalculator/scientificCalc.java | 109 +++++++++++------- 2 files changed, 72 insertions(+), 43 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java b/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java index 5f421325..1a192737 100644 --- a/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java @@ -5,7 +5,7 @@ */ public class MainApplication { public static void main(String[] args) { - Console.println("Welcome to my calculator!"); + /* 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."); @@ -13,5 +13,9 @@ public static void main(String[] args) { 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); + + */ + scientificCalc scientificCalcObject = new scientificCalc(); + scientificCalcObject.promptScreen(); } } diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/scientificCalc.java b/src/main/java/com/zipcodewilmington/scientificcalculator/scientificCalc.java index 79e4a7a4..72644bee 100644 --- a/src/main/java/com/zipcodewilmington/scientificcalculator/scientificCalc.java +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/scientificCalc.java @@ -1,7 +1,6 @@ -import java.lang.Math; -public class scientificCalc { +package com.zipcodewilmington.scientificcalculator; - /* + /* Scientific Features Switch display mode (binary, octal, decimal, hexadecimal) switchDisplayMode() should rotate through the options @@ -19,56 +18,81 @@ Switch display mode (binary, octal, decimal, hexadecimal) // ex (inverse natural logarithm) - */ - public scientificCalc() { - } +*/ - public static double sine() { - - return Math.sin(i); - } +import java.util.Scanner; - public double cosign() { +public class scientificCalc { - return Math.cos(i); + public scientificCalc() { } - public double tangent() { + public double promptScreen() { - return Math.tan(i); - // will return a double - } + Scanner prompt = new Scanner(System.in); - public double inverseSine() { - - return (int) Math.asin(i); - //will return a int; + System.out.println("Give the first number:"); + int first = Integer.valueOf(prompt.nextLine()); + System.out.println("Give the second number:"); + int second = Integer.valueOf(prompt.nextLine()); + System.out.println("Choose your scientific function"); + System.out.println("SIN, SIN-1, COS, COS-1 TAN, TAN-1,LOG, LOG10, FAC, LNBase"); + //String selection = String.valueOf(prompt.nextLine()); + return promptScreen(); } - - public double inverseCoSine() { - - return (int) Math.acos(i); +} + + if (selection == "SIN") { + return sine(); + } else if(selection == "SIN=1") { + return inverseSine(); + } else if(selection == "COS") { + return cosign(); + } else if(seleciton == "COS-1") { + return inverseCoSine(); + } else if(selection =="TAN") { + return tangent(); + } else if(selection =="TAN-1") { + return inverseTangent(); + } else if(selection =="LOG") { + return logarithm(); + } else if(selection == "LOG10") { + return logarithm10(); + } else if (selection == "LNBase") { + return Math.pow(Math.E, (Math.log(x))); // needs method + } else { + return factorial(); + } + public double sine() { + return Math.sin(first + second); + } + public double inverseSine() { + return (int) Math.asin(); //will return a int; - } - - public double inverseTangent() { - - return Math.atan(i); + } + public double cosign() { + return Math.cos(); + } + public double inverseCoSine() { + return (int) Math.acos(); + } + public double tangent() { + return Math.tan(); + // will return a double + } + public double inverseTangent() { + return Math.atan(); // will print double - } - - public double logarithm() { + } + public double logarithm() { // natural - return Math.log(i); - } - - public double logarithm10() { - - return Math.log10(i); - } - + return Math.log(); + } + public double logarithm10() { + return Math.log10; + } public long factorial() { - long num = i; + long num = 0; // probably need to incorporate BigInteger; int i=1; int fact=1; @@ -76,7 +100,7 @@ public long factorial() { fact=fact*i; i++; } - return(fact); + return(); } } @@ -84,3 +108,4 @@ public long factorial() { + From d0dccbebd35e0f4b6e05e673c0e95d534b1295cf Mon Sep 17 00:00:00 2001 From: cay Date: Sun, 31 Oct 2021 15:27:38 -0400 Subject: [PATCH 05/16] updated line output for scentific calc --- .../zipcodewilmington/scientificcalculator/Calculator.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/Calculator.java b/src/main/java/com/zipcodewilmington/scientificcalculator/Calculator.java index fabea5e4..ce5dd53b 100644 --- a/src/main/java/com/zipcodewilmington/scientificcalculator/Calculator.java +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/Calculator.java @@ -24,6 +24,10 @@ public void startCalc(Integer retries) { setCalcState(i); } else if (i.equals("2")) { Console.println("This is where I will return a Scientific Calc."); + Console.println("This calculator does the following:"); + Console.println( "switch displays, commit to memory, clear memory, ine, cosine,"); + Console.println("tangent, inverse sine, inverse cosine, inverse tangent, switch units,"); + Console.println("log, inverse log, natural log, inverse of natural log, and factorials."); setCalcState(i); } else if (retries < 5) { Console.println("User input %s is invalid.", i); From a74d8c1e97524b57b81037f6f84065c21fa5b2ee Mon Sep 17 00:00:00 2001 From: cay Date: Sun, 31 Oct 2021 15:31:36 -0400 Subject: [PATCH 06/16] adjusted spacing in printlns --- .../zipcodewilmington/scientificcalculator/Calculator.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/Calculator.java b/src/main/java/com/zipcodewilmington/scientificcalculator/Calculator.java index ce5dd53b..38f34595 100644 --- a/src/main/java/com/zipcodewilmington/scientificcalculator/Calculator.java +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/Calculator.java @@ -19,13 +19,13 @@ public void startCalc(Integer retries) { String i = Console.getStringInput("Enter an integer!"); if (i.equals("1")) { Console.println("This calculator does the following:"); - Console.println( "add, subtract, multiply, divide, calculate the square,"); + Console.println("add, subtract, multiply, divide, calculate the square,"); Console.println("take the square root, variable exponentiation, take the inverse, and switch signs."); setCalcState(i); } else if (i.equals("2")) { Console.println("This is where I will return a Scientific Calc."); Console.println("This calculator does the following:"); - Console.println( "switch displays, commit to memory, clear memory, ine, cosine,"); + Console.println("switch displays, commit to memory, clear memory, ine, cosine,"); Console.println("tangent, inverse sine, inverse cosine, inverse tangent, switch units,"); Console.println("log, inverse log, natural log, inverse of natural log, and factorials."); setCalcState(i); From fe32d8ddab4175218c1af7f906a2398fca85fe8d Mon Sep 17 00:00:00 2001 From: c-poteat Date: Sun, 31 Oct 2021 18:41:42 -0400 Subject: [PATCH 07/16] Updated version 6:41pm --- pom.xml | 8 + .../scientificcalculator/MainApplication.java | 1 + .../scientificcalculator/scientificCalc.java | 185 ++++++++++-------- .../scientificCalcTest.java | 47 +++++ 4 files changed, 155 insertions(+), 86 deletions(-) create mode 100644 src/test/java/com/zipcodewilmington/scientificcalculator/scientificCalcTest.java diff --git a/pom.xml b/pom.xml index e7cb4f6b..d8cd763e 100644 --- a/pom.xml +++ b/pom.xml @@ -7,6 +7,14 @@ com.zipcodewilmington scientific_calculator 1.0-SNAPSHOT + + + junit + junit + 4.12 + test + + \ 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 1a192737..b1244a93 100644 --- a/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java @@ -15,6 +15,7 @@ public static void main(String[] args) { Console.println("The user input %s as a d", d); */ + scientificCalc scientificCalcObject = new scientificCalc(); scientificCalcObject.promptScreen(); } diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/scientificCalc.java b/src/main/java/com/zipcodewilmington/scientificcalculator/scientificCalc.java index 72644bee..3d13ddaa 100644 --- a/src/main/java/com/zipcodewilmington/scientificcalculator/scientificCalc.java +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/scientificCalc.java @@ -1,108 +1,121 @@ package com.zipcodewilmington.scientificcalculator; - /* - Scientific Features - Switch display mode (binary, octal, decimal, hexadecimal) - switchDisplayMode() should rotate through the options - switchDisplayMode(String mode) should set the display to the mode given - Memory - Store up to one numeric value in memory for recall later (default to 0) * - - input = - (M+ key) Add the currently displayed value to the value in memory (store in memory and update display) * - (MC key) Reset memory * - (MRC key) Recall the current value from memory to the display * - - // Switch trig units mode (Degrees, Radians) - // switchUnitsMode() should rotate through the options - // switchUnitsMode(String mode) should set the trig units to the type given - - -// ex (inverse natural logarithm) -*/ - import java.util.Scanner; public class scientificCalc { - - public scientificCalc() { - } + static Scanner prompt = new Scanner(System.in); public double promptScreen() { + System.out.println("Choose your scientific function");// + System.out.println("1. SIN, 2. SIN-1, 3. COS, 4. COS-1 5. TAN"); + System.out.println("6. TAN-1, 7. LOG, 8. LOG10, 9. LOG1P, 10. FAC"); - Scanner prompt = new Scanner(System.in); + int function = Integer.valueOf(prompt.nextLine()); - System.out.println("Give the first number:"); - int first = Integer.valueOf(prompt.nextLine()); - System.out.println("Give the second number:"); - int second = Integer.valueOf(prompt.nextLine()); - System.out.println("Choose your scientific function"); - System.out.println("SIN, SIN-1, COS, COS-1 TAN, TAN-1,LOG, LOG10, FAC, LNBase"); - //String selection = String.valueOf(prompt.nextLine()); - return promptScreen(); - } -} - - if (selection == "SIN") { + if (function == 1) { return sine(); - } else if(selection == "SIN=1") { + } else if (function == 2) { return inverseSine(); - } else if(selection == "COS") { + } else if (function == 3) { return cosign(); - } else if(seleciton == "COS-1") { + } else if (function == 4) { return inverseCoSine(); - } else if(selection =="TAN") { - return tangent(); - } else if(selection =="TAN-1") { - return inverseTangent(); - } else if(selection =="LOG") { + } else if (function == 5) { + return tangent(); + } else if (function == 6) { + return inverseTangent(); + } else if (function == 7) { return logarithm(); - } else if(selection == "LOG10") { + } else if (function == 8) { return logarithm10(); - } else if (selection == "LNBase") { - return Math.pow(Math.E, (Math.log(x))); // needs method - } else { + } else if (function == 9) { + return logp(); + } else if (function == 10){ return factorial(); - } - public double sine() { - return Math.sin(first + second); - } - public double inverseSine() { - return (int) Math.asin(); - //will return a int; } - public double cosign() { - return Math.cos(); - } - public double inverseCoSine() { - return (int) Math.acos(); - } - public double tangent() { - return Math.tan(); - // will return a double - } - public double inverseTangent() { - return Math.atan(); - // will print double - } - public double logarithm() { - // natural - return Math.log(); - } - public double logarithm10() { - return Math.log10; - } - public long factorial() { - long num = 0; - // probably need to incorporate BigInteger; - int i=1; - int fact=1; - while(i<=num) { - fact=fact*i; - i++; - } - return(); + return promptScreen(); + } + + public double sine() { // 1 + System.out.println("Give number:"); + double first = Integer.valueOf(prompt.nextLine()); + System.out.println(Math.sin(first)); + return Math.sin(first); + } + + public double inverseSine() { // 2 + System.out.println("Give number:"); + double first = Integer.valueOf(prompt.nextLine()); + System.out.println(Math.asin(first)); + return (int) Math.asin(first); + + } + public double cosign() { // 3 + System.out.println("Give number:"); + double first = Integer.valueOf(prompt.nextLine()); + System.out.println(Math.cos(first)); + return Math.cos(first); + } + + public double inverseCoSine() { // 4 + System.out.println("Give number:"); + double first = Integer.valueOf(prompt.nextLine()); + System.out.println(Math.acos(first)); + return (int) Math.acos(first); + } + + public double tangent() { // 5 + System.out.println("Give number:"); + double first = Integer.valueOf(prompt.nextLine()); + System.out.println(Math.tan(first)); + return Math.tan(first); + } + + public double inverseTangent() { // 6 + System.out.println("Give number:"); + double first = Integer.valueOf(prompt.nextLine()); + System.out.println(Math.atan(first)); + return Math.atan(first); + } + + public double logarithm() { // 7 + System.out.println("Give number:"); + int first = Integer.valueOf(prompt.nextLine()); + System.out.println(Math.log(first)); + return Math.log(first); + } + + public double logarithm10() { // 8 + System.out.println("Give number:"); + int first = Integer.valueOf(prompt.nextLine()); + System.out.println(Math.log10(first)); + return Math.log10(first); + } + + public double logp() { // 9 + System.out.println("Give number:"); + double first = Integer.valueOf(prompt.nextLine()); + + return Math.pow(Math.E, (Math.log(first))); + //System.out.println(Math.E,(Math.log(first))); + } + public long factorial() { // 10 + System.out.println("Give number:"); + long first = Integer.valueOf(prompt.nextLine()); + long fact = 1; + for (int i = 2; i <= first; i++) { + fact = fact * i; } + System.out.println(fact); + return (fact); } +} + + + + + + diff --git a/src/test/java/com/zipcodewilmington/scientificcalculator/scientificCalcTest.java b/src/test/java/com/zipcodewilmington/scientificcalculator/scientificCalcTest.java new file mode 100644 index 00000000..e008f894 --- /dev/null +++ b/src/test/java/com/zipcodewilmington/scientificcalculator/scientificCalcTest.java @@ -0,0 +1,47 @@ +package com.zipcodewilmington.scientificcalculator; +import java.lang.Math; +import static org.junit.Assert.*; + +public class scientificCalcTest { + + @org.junit.Test + public void sine() { + // given + } + + @org.junit.Test + public void inverseSine() { + } + + @org.junit.Test + public void cosign() { + } + + @org.junit.Test + public void inverseCoSine() { + } + + @org.junit.Test + public void tangent() { + } + + @org.junit.Test + public void inverseTangent() { + } + + @org.junit.Test + public void logarithm() { + } + + @org.junit.Test + public void logarithm10() { + } + + @org.junit.Test + public void logp() { + } + + @org.junit.Test + public void factorial() { + } +} \ No newline at end of file From 3ac16d11319d63dac689a0e53d93a16321ce6c5f Mon Sep 17 00:00:00 2001 From: tra Date: Sun, 31 Oct 2021 21:03:47 -0400 Subject: [PATCH 08/16] Tra's change --- .../scientificcalculator/BasicCalculator.java | 261 ++++++++++++++++++ 1 file changed, 261 insertions(+) create mode 100644 src/main/java/com/zipcodewilmington/scientificcalculator/BasicCalculator.java diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/BasicCalculator.java b/src/main/java/com/zipcodewilmington/scientificcalculator/BasicCalculator.java new file mode 100644 index 00000000..cca1ba1f --- /dev/null +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/BasicCalculator.java @@ -0,0 +1,261 @@ +package com.zipcodewilmington.scientificcalculator; + +import java.util.Scanner; + +public class BasicCalculator { + + public static void addition ( double num1, double num2) { + Scanner console = new Scanner (System.in); + System.out.println( " Please, enter two numbers for addition : "); + System.out.print( " First number is : "); + num1 = console.nextDouble(); + //System.out.print("\033[H\033[2J"); + //System.out.flush(); + System.out.print( " Second number is : "); + num2 = console.nextDouble(); + //double result = num1+ num2; + double result = add(num1, num2); + System.out.println("The subtraction between" + num1 + " and " + num2 + + " is : " + result) ; + } + + public static double add ( double num1, double num2) { + return num1 + num2 ; + } + + + public static void subtraction ( double num1, double num2) { + + Scanner console = new Scanner (System.in); + System.out.println( " Please, enter two numbers for subtraction : "); + System.out.print( " First number is : "); + num1 = console.nextDouble(); + //System.out.print("\033[H\033[2J"); + //System.out.flush(); + System.out.print( " Second number is : "); + num2 = console.nextDouble(); + //double result = num1 - num2; + double result = subst (num1,num2); + System.out.println(" The subtraction between" + num1 + " and " + num2 + + " is : " + result) ; + + } + + public static double subst ( double num1, double num2) { + return num1 - num2 ; + } + + + + public static void division ( double num1, double num2) { + + Scanner console = new Scanner (System.in); + System.out.println( " Please, enter two numbers for division : "); + System.out.print( " First number : "); + num1 = console.nextDouble(); + //System.out.print("\033[H\033[2J"); + //System.out.flush(); + System.out.print( " Second number : "); + num2 = console.nextDouble(); + if ( num2 == 0 ) { + throw new ArithmeticException(" Err! No Division by Zero."); + //System.out.print("\033[H\033[2J"); + //System.out.flush(); + } + else { + //double result = num1 /num2; + double result = div(num1,num2); + System.out.println("The division of " + num1 + " by " + num2 + + " is : " + result); + } + + } + + + public static double div ( double num1, double num2) { + return num1/num2 ; + } + + + + public static void multiply ( double num1, double num2) { + + Scanner console = new Scanner (System.in); + System.out.println( " Please, enter two numbers for multiplication : "); + System.out.print( " First number : "); + num1 = console.nextDouble(); + //System.out.print("\033[H\033[2J"); + //System.out.flush(); + System.out.print( " Second number : "); + num2 = console.nextDouble(); + //double result = num1 * num2; + double result = multi(num1,num2); + System.out.println("The multiplication between" + num1 + " and " + num2 + + " is : " + result); + } + + public static double multi ( double num1, double num2) { + return num1 * num2 ; + } + + + + public static void square ( double num1) { + + Scanner console = new Scanner (System.in); + System.out.println( " Please, enter a number and let's find its square : "); + System.out.print( " The chosen number is : "); + num1 = console.nextDouble(); + //System.out.print("\033[H\033[2J"); + //System.out.flush(); + //double result = num1 * num1; + double result = sqr(num1); + System.out.println("The square of " + num1 + + " is : " + result ) ; + + } + + public static double sqr ( double num1) { + return num1 * num1 ; + } + + + public static void squareRoot ( double num1) { + Scanner console = new Scanner (System.in); + System.out.println( " Please, enter a number and let's find its square root: "); + System.out.print( " The chosen number is : "); + num1 = console.nextDouble(); + //System.out.print("\033[H\033[2J"); + //System.out.flush(); + //double result = Math.sqrt(num1); + double result = sqroot(num1); + System.out.println(" The square root of " + num1 + + " is : " + result) ; + + } + + public static double sqroot ( double num1) { + return Math.sqrt(num1) ; + } + + + + + public static void exponential ( double num1, double num2) { + + Scanner console = new Scanner (System.in); + System.out.println( " Please, enter a number and its power : "); + System.out.print( " The Chosen number is : "); + num1 = console.nextDouble(); + //System.out.print("\033[H\033[2J"); + //System.out.flush(); + System.out.print( " The power is : "); + num2 = console.nextDouble(); + //double result = Math.pow( num1, num2); + double result = exponent( num1, num2); + System.out.println( num1 + " exponential of " + num2 + + " is : " + result); + } + + public static double exponent ( double num1, double num2) { + return Math.pow( num1, num2) ; + } + + + + public static void inverse ( double value3,double num2) { + value3 = 1; + Scanner console = new Scanner (System.in); + System.out.println( " Please, enter a number and its inverse : "); + System.out.print( " The Chosen number is : "); + num2 = console.nextDouble(); + System.out.print("\033[H\033[2J"); + System.out.flush(); + if ( num2 == 0 ) { + throw new ArithmeticException (" Err! No Division by Zero."); + //System.out.print("\033[H\033[2J"); + //System.out.flush(); + } else { + //double result = (value3/num2); + double result = (value3/num2); + System.out.println("The inverse of " + num2 + + " is : " + result); + } + } + + public static double inv ( double value3, double num2) { + return (value3/num2) ; + } + + + + + public static void switchTheSign ( double num1) { + + Scanner console = new Scanner(System.in); + System.out.println(" Please, enter a number and let's switch its sign: "); + System.out.print(" The chosen number is : "); + num1 = console.nextDouble(); + //System.out.print("\033[H\033[2J"); + //System.out.flush(); + //double result = Math.abs(num1); + double result = SignNumb (num1); + System.out.println(" The new value of " + num1 + + " is : " + result); + } + + public static double SignNumb (double num1) { + return Math.abs(num1) ; + } + + + + public static void average ( double num1, double num2) { + double value1 = 2 ; + Scanner console = new Scanner (System.in); + System.out.println( " Please, enter two numbers for multiplication : "); + System.out.print( " First number : "); + num1 = console.nextDouble(); + //System.out.print("\033[H\033[2J"); + //System.out.flush(); + System.out.print( " Second number : "); + num2 = console.nextDouble(); + if ( num2 == 0 ) { + throw new ArithmeticException(" Err! No Division by Zero."); + //System.out.print("\033[H\033[2J"); + //System.out.flush(); + } else { + //double result = (num1/num2)/ (value1) ; + double result = avg (num1, num2, value1); + System.out.println("The average of " + num1 + " and " + num2 + + " is : " + result); + } + + } + + public static double avg (double num1, double num2, double value1) { + return (num1/num2)/ (value1) ; + } + + + + public static void countdown ( double num1, double increment) { + increment = 1 ; + Scanner console = new Scanner (System.in); + System.out.println( " Please, enter a number for multiplication : "); + System.out.print( " First number : "); + num1 = console.nextDouble(); + //System.out.print("\033[H\033[2J"); + //System.out.flush(); + // double result = num1 - increment ; + double result = countDown ( num1, increment); + System.out.println("The countdown of " + num1 + + " is : " + result); + } + + public static double countDown (double num1, double increment) { + return num1 - increment ; + } + + +} From cf511238b324ddad7af740398d4769c64b7cd97a Mon Sep 17 00:00:00 2001 From: tra Date: Sun, 31 Oct 2021 21:43:57 -0400 Subject: [PATCH 09/16] add comment --- .../zipcodewilmington/scientificcalculator/BasicCalculator.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/BasicCalculator.java b/src/main/java/com/zipcodewilmington/scientificcalculator/BasicCalculator.java index cca1ba1f..ce784c33 100644 --- a/src/main/java/com/zipcodewilmington/scientificcalculator/BasicCalculator.java +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/BasicCalculator.java @@ -11,6 +11,7 @@ public static void addition ( double num1, double num2) { num1 = console.nextDouble(); //System.out.print("\033[H\033[2J"); //System.out.flush(); + // a comment from ; System.out.print( " Second number is : "); num2 = console.nextDouble(); //double result = num1+ num2; From 94c3ce6d9ed0fe39adaf4c40ee238c01cf5c09aa Mon Sep 17 00:00:00 2001 From: cay Date: Sun, 31 Oct 2021 21:53:32 -0400 Subject: [PATCH 10/16] changed calculator class --- .../scientificcalculator/Calculator.java | 34 ++++++++++++++++--- .../scientificcalculator/MainApplication.java | 6 ++-- 2 files changed, 33 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/Calculator.java b/src/main/java/com/zipcodewilmington/scientificcalculator/Calculator.java index 38f34595..6e107c3b 100644 --- a/src/main/java/com/zipcodewilmington/scientificcalculator/Calculator.java +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/Calculator.java @@ -8,10 +8,16 @@ public class Calculator { String output; String calcState; Integer retries; - public Calculator(String op) { + scientificCalc sc; + basicCalculator bc; + + public Calculator(String op, scientificCalc scienCalc, basicCalculator basicCalc) { output = op; calcState = null; retries = 0; + sc = scienCalc; + bc = basicCalc; + } public void startCalc(Integer retries) { @@ -20,7 +26,8 @@ public void startCalc(Integer retries) { if (i.equals("1")) { Console.println("This calculator does the following:"); Console.println("add, subtract, multiply, divide, calculate the square,"); - Console.println("take the square root, variable exponentiation, take the inverse, and switch signs."); + Console.println("take the square root, variable exponentiation,"); + Console.println("take the inverse, switch signs, average, and counting down/up."); setCalcState(i); } else if (i.equals("2")) { Console.println("This is where I will return a Scientific Calc."); @@ -39,14 +46,31 @@ public void startCalc(Integer retries) { } } - public void displayOutput(String outResult) { - + /* public void displayOutput(String outResult) { output = outResult; //Console.println(outResult); - } + } */ public void setCalcState(String inputReceived){ calcState = inputReceived; + if (inputReceived == "2"); + { + sc.promptScreen(); + } else { + bc.//promptscreen? + } } + + public void clear() { + String clearer = ""; + for (int i = 0; i < 70; i++) { + clearer += "\n"; + } + System.out.println(clearer); + + } + + } + diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java b/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java index 7d195ac8..8dbf969c 100644 --- a/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java @@ -7,10 +7,12 @@ public class MainApplication { public static void main(String[] args) { - Calculator calc = new Calculator("0"); + scientificCalc sc = new scientificCalc(); + //basicCalculator bc = new basicCalculator(); needs Tra's code, make sure to add params if he has them + Calculator calc = new Calculator("0", sc, bc); Console.println("Welcome to my calculator!"); calc.startCalc(0); - calc.displayOutput("2"); + //calc.displayOutput("2"); } } From 479d7e6441f1ff4cf8f8a99bfca00ef0931e0ebd Mon Sep 17 00:00:00 2001 From: c-poteat Date: Sun, 31 Oct 2021 21:57:40 -0400 Subject: [PATCH 11/16] Updating scientific calc --- .../zipcodewilmington/scientificcalculator/scientificCalc.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/scientificCalc.java b/src/main/java/com/zipcodewilmington/scientificcalculator/scientificCalc.java index 3d13ddaa..2e691dc2 100644 --- a/src/main/java/com/zipcodewilmington/scientificcalculator/scientificCalc.java +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/scientificCalc.java @@ -111,7 +111,7 @@ public long factorial() { // 10 } } - +//New Comment. From 7d951b957b1a004ae484387357bf2f37501054d1 Mon Sep 17 00:00:00 2001 From: cay Date: Mon, 1 Nov 2021 00:27:40 -0400 Subject: [PATCH 12/16] added prompt form Carnell --- .../scientificcalculator/BasicCalculator.java | 137 ++++++++++-------- .../scientificcalculator/MainApplication.java | 21 ++- 2 files changed, 88 insertions(+), 70 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/BasicCalculator.java b/src/main/java/com/zipcodewilmington/scientificcalculator/BasicCalculator.java index ce784c33..9c3465c8 100644 --- a/src/main/java/com/zipcodewilmington/scientificcalculator/BasicCalculator.java +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/BasicCalculator.java @@ -3,52 +3,75 @@ import java.util.Scanner; public class BasicCalculator { + private Double state = 0.0; + static private Scanner prompt = new Scanner(System.in); + + public void promptScreen() { + System.out.println("Result: " + state.toString() + "\n\n"); + + System.out.println("Choose your scientific function");// + System.out.println("1. ADD, 2. SUBTRACT, 3. DIVIDE, 4. MULTIPLY 5. SQUARE"); + System.out.println("6. SQUAREROOT, 7. EXPONENTIAL, 8. INVERSE, 9. SWITCHTHESIGN, 10. AVERAGE 11. COUNTDOWN"); + + + String functionPrompt = prompt.nextLine(); + while (functionPrompt.length() == 0) { + functionPrompt = prompt.nextLine(); + } + int function = Integer.valueOf(functionPrompt); + + if (function == 1) { + System.out.print( " Second number is : "); + Double num2 = prompt.nextDouble(); + state = addition(state, num2); + } else if (function == 2) { + System.out.print( " Second number is : "); + Double num2 = prompt.nextDouble(); + state = subtraction(state, num2); +// } else if (function == 3) { +// return division(); +// } else if (function == 4) { +// return multiply(); + } else if (function == 5) { + state = square(state); + } +// } else if (function == 6) { +// return squareRoot(); +// } else if (function == 7) { +// return exponential(); +// } else if (function == 8) { +// return inverse(); +// } else if (function == 9) { +// return switchTheSign(); +// } else if (function == 10){ +// return average(); +// } else if (function == 11){ +// return countdown(); +// } +// return Calculator(); - public static void addition ( double num1, double num2) { - Scanner console = new Scanner (System.in); - System.out.println( " Please, enter two numbers for addition : "); - System.out.print( " First number is : "); - num1 = console.nextDouble(); - //System.out.print("\033[H\033[2J"); - //System.out.flush(); - // a comment from ; - System.out.print( " Second number is : "); - num2 = console.nextDouble(); - //double result = num1+ num2; - double result = add(num1, num2); - System.out.println("The subtraction between" + num1 + " and " + num2 + - " is : " + result) ; } - public static double add ( double num1, double num2) { - return num1 + num2 ; + public Double addition(Double num1, Double num2) { + return num1 + num2; } + public double add ( double num1, double num2) { + return num1 + num2 ; + } - public static void subtraction ( double num1, double num2) { - - Scanner console = new Scanner (System.in); - System.out.println( " Please, enter two numbers for subtraction : "); - System.out.print( " First number is : "); - num1 = console.nextDouble(); - //System.out.print("\033[H\033[2J"); - //System.out.flush(); - System.out.print( " Second number is : "); - num2 = console.nextDouble(); - //double result = num1 - num2; - double result = subst (num1,num2); - System.out.println(" The subtraction between" + num1 + " and " + num2 + - " is : " + result) ; + public double subtraction ( double num1, double num2) { + return num1 - num2; } - public static double subst ( double num1, double num2) { + public double subst ( double num1, double num2) { return num1 - num2 ; } - public static void division ( double num1, double num2) { + public void division ( double num1, double num2) { Scanner console = new Scanner (System.in); System.out.println( " Please, enter two numbers for division : "); @@ -73,13 +96,13 @@ public static void division ( double num1, double num2) { } - public static double div ( double num1, double num2) { + public double div ( double num1, double num2) { return num1/num2 ; } - public static void multiply ( double num1, double num2) { + public void multiply ( double num1, double num2) { Scanner console = new Scanner (System.in); System.out.println( " Please, enter two numbers for multiplication : "); @@ -95,33 +118,21 @@ public static void multiply ( double num1, double num2) { " is : " + result); } - public static double multi ( double num1, double num2) { + public double multi ( double num1, double num2) { return num1 * num2 ; } - - - public static void square ( double num1) { - - Scanner console = new Scanner (System.in); - System.out.println( " Please, enter a number and let's find its square : "); - System.out.print( " The chosen number is : "); - num1 = console.nextDouble(); - //System.out.print("\033[H\033[2J"); - //System.out.flush(); - //double result = num1 * num1; + public Double square ( double num1) { double result = sqr(num1); - System.out.println("The square of " + num1 + - " is : " + result ) ; - + return result; } - public static double sqr ( double num1) { + public double sqr ( double num1) { return num1 * num1 ; } - public static void squareRoot ( double num1) { + public void squareRoot ( double num1) { Scanner console = new Scanner (System.in); System.out.println( " Please, enter a number and let's find its square root: "); System.out.print( " The chosen number is : "); @@ -135,14 +146,14 @@ public static void squareRoot ( double num1) { } - public static double sqroot ( double num1) { + public double sqroot ( double num1) { return Math.sqrt(num1) ; } - public static void exponential ( double num1, double num2) { + public void exponential ( double num1, double num2) { Scanner console = new Scanner (System.in); System.out.println( " Please, enter a number and its power : "); @@ -158,13 +169,13 @@ public static void exponential ( double num1, double num2) { " is : " + result); } - public static double exponent ( double num1, double num2) { + public double exponent ( double num1, double num2) { return Math.pow( num1, num2) ; } - public static void inverse ( double value3,double num2) { + public void inverse ( double value3,double num2) { value3 = 1; Scanner console = new Scanner (System.in); System.out.println( " Please, enter a number and its inverse : "); @@ -184,14 +195,14 @@ public static void inverse ( double value3,double num2) { } } - public static double inv ( double value3, double num2) { + public double inv ( double value3, double num2) { return (value3/num2) ; } - public static void switchTheSign ( double num1) { + public void switchTheSign ( double num1) { Scanner console = new Scanner(System.in); System.out.println(" Please, enter a number and let's switch its sign: "); @@ -205,13 +216,14 @@ public static void switchTheSign ( double num1) { " is : " + result); } - public static double SignNumb (double num1) { + public double SignNumb (double num1) { + return Math.abs(num1) ; } - public static void average ( double num1, double num2) { + public void average ( double num1, double num2) { double value1 = 2 ; Scanner console = new Scanner (System.in); System.out.println( " Please, enter two numbers for multiplication : "); @@ -234,13 +246,14 @@ public static void average ( double num1, double num2) { } - public static double avg (double num1, double num2, double value1) { + public double avg (double num1, double num2, double value1) { + return (num1/num2)/ (value1) ; } - public static void countdown ( double num1, double increment) { + public void countdown ( double num1, double increment) { increment = 1 ; Scanner console = new Scanner (System.in); System.out.println( " Please, enter a number for multiplication : "); @@ -254,7 +267,7 @@ public static void countdown ( double num1, double increment) { " is : " + result); } - public static double countDown (double num1, double increment) { + public double countDown (double num1, double increment) { return num1 - increment ; } diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java b/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java index 5f421325..222392e4 100644 --- a/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java @@ -5,13 +5,18 @@ */ 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."); - - 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); +// 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."); +// +// 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); +// + BasicCalculator basicCalcObject = new BasicCalculator(); + while (true) { + basicCalcObject.promptScreen(); + } } } From a5ffcfeda40739f06daff69321346cf83b1c175e Mon Sep 17 00:00:00 2001 From: c-poteat Date: Mon, 1 Nov 2021 01:20:03 -0400 Subject: [PATCH 13/16] Updated prompt --- .../scientificcalculator/BasicCalculator.java | 239 +++--------------- 1 file changed, 41 insertions(+), 198 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/BasicCalculator.java b/src/main/java/com/zipcodewilmington/scientificcalculator/BasicCalculator.java index 9c3465c8..fc3fe445 100644 --- a/src/main/java/com/zipcodewilmington/scientificcalculator/BasicCalculator.java +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/BasicCalculator.java @@ -28,27 +28,34 @@ public void promptScreen() { System.out.print( " Second number is : "); Double num2 = prompt.nextDouble(); state = subtraction(state, num2); -// } else if (function == 3) { -// return division(); -// } else if (function == 4) { -// return multiply(); + } else if (function == 3) { + System.out.print( " Second number is : "); + Double num2 = prompt.nextDouble(); + state = division(state, num2); + } else if (function == 4) { + System.out.print( " Second number is : "); + Double num2 = prompt.nextDouble(); + state = multiply(state, num2); } else if (function == 5) { state = square(state); + } else if (function == 6) { + state = squareRoot(state); + } else if (function == 7) { + System.out.print( " Second number is : "); + Double num2 = prompt.nextDouble(); + state = exponential(state, num2); + } else if (function == 8) { + state = inverse(state); + } else if (function == 9) { + state = switchTheSign(state); + } else if (function == 10){ + System.out.print( " Second number is : "); + Double num2 = prompt.nextDouble(); + state = average(state, num2); + } else if (function == 11){ + state = countdown(state); } -// } else if (function == 6) { -// return squareRoot(); -// } else if (function == 7) { -// return exponential(); -// } else if (function == 8) { -// return inverse(); -// } else if (function == 9) { -// return switchTheSign(); -// } else if (function == 10){ -// return average(); -// } else if (function == 11){ -// return countdown(); -// } -// return Calculator(); + // return Calculator(); } @@ -69,207 +76,43 @@ public double subst ( double num1, double num2) { return num1 - num2 ; } - - - public void division ( double num1, double num2) { - - Scanner console = new Scanner (System.in); - System.out.println( " Please, enter two numbers for division : "); - System.out.print( " First number : "); - num1 = console.nextDouble(); - //System.out.print("\033[H\033[2J"); - //System.out.flush(); - System.out.print( " Second number : "); - num2 = console.nextDouble(); - if ( num2 == 0 ) { - throw new ArithmeticException(" Err! No Division by Zero."); - //System.out.print("\033[H\033[2J"); - //System.out.flush(); - } - else { - //double result = num1 /num2; - double result = div(num1,num2); - System.out.println("The division of " + num1 + " by " + num2 + - " is : " + result); - } - - } - + public double division ( double num1, double num2) {return num1 / num2 ;} public double div ( double num1, double num2) { return num1/num2 ; } + public double multiply ( double num1, double num2) {return num1 * num2 ;} + public double multi ( double num1, double num2) { return num1 * num2 ;} - public void multiply ( double num1, double num2) { + public double square ( double num1) { return num1 * num1 ;} - Scanner console = new Scanner (System.in); - System.out.println( " Please, enter two numbers for multiplication : "); - System.out.print( " First number : "); - num1 = console.nextDouble(); - //System.out.print("\033[H\033[2J"); - //System.out.flush(); - System.out.print( " Second number : "); - num2 = console.nextDouble(); - //double result = num1 * num2; - double result = multi(num1,num2); - System.out.println("The multiplication between" + num1 + " and " + num2 + - " is : " + result); - } + public double squareRoot ( double num1) { return Math.sqrt(num1) ;} - public double multi ( double num1, double num2) { - return num1 * num2 ; - } + public double sqroot ( double num1) {return Math.sqrt(num1) ;} - public Double square ( double num1) { - double result = sqr(num1); - return result; - } + public double exponential ( double num1, double num2) { return Math.pow( num1, num2) ;} - public double sqr ( double num1) { - return num1 * num1 ; - } + public double exponent ( double num1, double num2) { return Math.pow( num1, num2) ;} + public double inverse (double num2) {return (1/num2) ;} - public void squareRoot ( double num1) { - Scanner console = new Scanner (System.in); - System.out.println( " Please, enter a number and let's find its square root: "); - System.out.print( " The chosen number is : "); - num1 = console.nextDouble(); - //System.out.print("\033[H\033[2J"); - //System.out.flush(); - //double result = Math.sqrt(num1); - double result = sqroot(num1); - System.out.println(" The square root of " + num1 + - " is : " + result) ; + public double inv (double num2) {return (1/num2) ;} - } + public double switchTheSign ( double num1) { return num1 * -1;} - public double sqroot ( double num1) { - return Math.sqrt(num1) ; - } + public double SignNumb (double num1) { return num1 * -1;} + public double average ( double num1, double num2) { return (num1/num2)/ (2);} + public double avg (double num1, double num2, double value1) { return (num1/num2)/ (2);} + public double countdown ( double num1) {return num1 - 1;} - public void exponential ( double num1, double num2) { + public double countDown (double num1) {return num1 - 1;} - Scanner console = new Scanner (System.in); - System.out.println( " Please, enter a number and its power : "); - System.out.print( " The Chosen number is : "); - num1 = console.nextDouble(); - //System.out.print("\033[H\033[2J"); - //System.out.flush(); - System.out.print( " The power is : "); - num2 = console.nextDouble(); - //double result = Math.pow( num1, num2); - double result = exponent( num1, num2); - System.out.println( num1 + " exponential of " + num2 + - " is : " + result); } - public double exponent ( double num1, double num2) { - return Math.pow( num1, num2) ; - } - - - - public void inverse ( double value3,double num2) { - value3 = 1; - Scanner console = new Scanner (System.in); - System.out.println( " Please, enter a number and its inverse : "); - System.out.print( " The Chosen number is : "); - num2 = console.nextDouble(); - System.out.print("\033[H\033[2J"); - System.out.flush(); - if ( num2 == 0 ) { - throw new ArithmeticException (" Err! No Division by Zero."); - //System.out.print("\033[H\033[2J"); - //System.out.flush(); - } else { - //double result = (value3/num2); - double result = (value3/num2); - System.out.println("The inverse of " + num2 + - " is : " + result); - } - } - - public double inv ( double value3, double num2) { - return (value3/num2) ; - } - - - - - public void switchTheSign ( double num1) { - - Scanner console = new Scanner(System.in); - System.out.println(" Please, enter a number and let's switch its sign: "); - System.out.print(" The chosen number is : "); - num1 = console.nextDouble(); - //System.out.print("\033[H\033[2J"); - //System.out.flush(); - //double result = Math.abs(num1); - double result = SignNumb (num1); - System.out.println(" The new value of " + num1 + - " is : " + result); - } - - public double SignNumb (double num1) { - - return Math.abs(num1) ; - } - - - - public void average ( double num1, double num2) { - double value1 = 2 ; - Scanner console = new Scanner (System.in); - System.out.println( " Please, enter two numbers for multiplication : "); - System.out.print( " First number : "); - num1 = console.nextDouble(); - //System.out.print("\033[H\033[2J"); - //System.out.flush(); - System.out.print( " Second number : "); - num2 = console.nextDouble(); - if ( num2 == 0 ) { - throw new ArithmeticException(" Err! No Division by Zero."); - //System.out.print("\033[H\033[2J"); - //System.out.flush(); - } else { - //double result = (num1/num2)/ (value1) ; - double result = avg (num1, num2, value1); - System.out.println("The average of " + num1 + " and " + num2 + - " is : " + result); - } - - } - - public double avg (double num1, double num2, double value1) { - - return (num1/num2)/ (value1) ; - } - - - - public void countdown ( double num1, double increment) { - increment = 1 ; - Scanner console = new Scanner (System.in); - System.out.println( " Please, enter a number for multiplication : "); - System.out.print( " First number : "); - num1 = console.nextDouble(); - //System.out.print("\033[H\033[2J"); - //System.out.flush(); - // double result = num1 - increment ; - double result = countDown ( num1, increment); - System.out.println("The countdown of " + num1 + - " is : " + result); - } - - public double countDown (double num1, double increment) { - return num1 - increment ; - } -} From 8a7a058b54d62e57460b86e061bf4ba7180d567f Mon Sep 17 00:00:00 2001 From: cay Date: Mon, 1 Nov 2021 01:27:38 -0400 Subject: [PATCH 14/16] Resolved merge conflicts --- .../com/zipcodewilmington/scientificcalculator/Calculator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/Calculator.java b/src/main/java/com/zipcodewilmington/scientificcalculator/Calculator.java index 6e107c3b..63499588 100644 --- a/src/main/java/com/zipcodewilmington/scientificcalculator/Calculator.java +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/Calculator.java @@ -57,7 +57,7 @@ public void setCalcState(String inputReceived){ { sc.promptScreen(); } else { - bc.//promptscreen? + bc.promptscreen(); } } From 76061980e91269c50b59ddabe0710e87440a27dc Mon Sep 17 00:00:00 2001 From: cay Date: Mon, 1 Nov 2021 01:39:22 -0400 Subject: [PATCH 15/16] finialized calc --- .../scientificcalculator/BasicCalculator.java | 2 +- .../scientificcalculator/Calculator.java | 12 +++++------- .../scientificcalculator/MainApplication.java | 13 +++++++------ 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/BasicCalculator.java b/src/main/java/com/zipcodewilmington/scientificcalculator/BasicCalculator.java index fc3fe445..ee95bbac 100644 --- a/src/main/java/com/zipcodewilmington/scientificcalculator/BasicCalculator.java +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/BasicCalculator.java @@ -9,7 +9,7 @@ public class BasicCalculator { public void promptScreen() { System.out.println("Result: " + state.toString() + "\n\n"); - System.out.println("Choose your scientific function");// + System.out.println("Choose your basic function");// System.out.println("1. ADD, 2. SUBTRACT, 3. DIVIDE, 4. MULTIPLY 5. SQUARE"); System.out.println("6. SQUAREROOT, 7. EXPONENTIAL, 8. INVERSE, 9. SWITCHTHESIGN, 10. AVERAGE 11. COUNTDOWN"); diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/Calculator.java b/src/main/java/com/zipcodewilmington/scientificcalculator/Calculator.java index 63499588..d644fa34 100644 --- a/src/main/java/com/zipcodewilmington/scientificcalculator/Calculator.java +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/Calculator.java @@ -9,9 +9,9 @@ public class Calculator { String calcState; Integer retries; scientificCalc sc; - basicCalculator bc; + BasicCalculator bc; - public Calculator(String op, scientificCalc scienCalc, basicCalculator basicCalc) { + public Calculator(String op, scientificCalc scienCalc, BasicCalculator basicCalc) { output = op; calcState = null; retries = 0; @@ -30,7 +30,6 @@ public void startCalc(Integer retries) { Console.println("take the inverse, switch signs, average, and counting down/up."); setCalcState(i); } else if (i.equals("2")) { - Console.println("This is where I will return a Scientific Calc."); Console.println("This calculator does the following:"); Console.println("switch displays, commit to memory, clear memory, ine, cosine,"); Console.println("tangent, inverse sine, inverse cosine, inverse tangent, switch units,"); @@ -53,11 +52,10 @@ public void startCalc(Integer retries) { public void setCalcState(String inputReceived){ calcState = inputReceived; - if (inputReceived == "2"); - { + if (inputReceived == null ? "2" == null : inputReceived.equals("2")) sc.promptScreen(); - } else { - bc.promptscreen(); + else { + bc.promptScreen(); } } diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java b/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java index 178c7c45..f55216fe 100644 --- a/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java @@ -8,17 +8,18 @@ public class MainApplication { public static void main(String[] args) { scientificCalc sc = new scientificCalc(); + BasicCalculator bc = new BasicCalculator(); //basicCalculator bc = new basicCalculator(); needs Tra's code, make sure to add params if he has them Calculator calc = new Calculator("0", sc, bc); Console.println("Welcome to my calculator!"); calc.startCalc(0); //calc.displayOutput("2"); - BasicCalculator basicCalcObject = new BasicCalculator(); - while (true) { - basicCalcObject.promptScreen(); - - scientificCalc scientificCalcObject = new scientificCalc(); - scientificCalcObject.promptScreen(); +// BasicCalculator basicCalcObject = new BasicCalculator(); +// while (true) { +// basicCalcObject.promptScreen(); +// } +// scientificCalc scientificCalcObject = new scientificCalc(); +// scientificCalcObject.promptScreen(); } } From acd1afa3725bd3d55629bc5dde21503f9b8ad4f4 Mon Sep 17 00:00:00 2001 From: cay Date: Mon, 1 Nov 2021 02:18:17 -0400 Subject: [PATCH 16/16] added test cases --- .../scientificcalculator/MainApplication.java | 1 + .../scientificcalculator/scientificCalc.java | 14 +++++++++--- .../BasicCalculatorTest.java | 22 +++++++++++++++++++ .../scientificCalcTest.java | 20 +++++++++++++---- 4 files changed, 50 insertions(+), 7 deletions(-) create mode 100644 src/test/java/com/zipcodewilmington/scientificcalculator/BasicCalculatorTest.java diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java b/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java index f55216fe..f628d686 100644 --- a/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java @@ -13,6 +13,7 @@ public static void main(String[] args) { Calculator calc = new Calculator("0", sc, bc); Console.println("Welcome to my calculator!"); calc.startCalc(0); + //calc.displayOutput("2"); // BasicCalculator basicCalcObject = new BasicCalculator(); diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/scientificCalc.java b/src/main/java/com/zipcodewilmington/scientificcalculator/scientificCalc.java index 2e691dc2..6432dd3c 100644 --- a/src/main/java/com/zipcodewilmington/scientificcalculator/scientificCalc.java +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/scientificCalc.java @@ -39,8 +39,13 @@ public double promptScreen() { public double sine() { // 1 System.out.println("Give number:"); double first = Integer.valueOf(prompt.nextLine()); - System.out.println(Math.sin(first)); - return Math.sin(first); + double result = sineOf(first); + System.out.println(result); + return result; + } + + public double sineOf(double num1) { + return Math.sin(num1); } public double inverseSine() { // 2 @@ -48,8 +53,11 @@ public double inverseSine() { // 2 double first = Integer.valueOf(prompt.nextLine()); System.out.println(Math.asin(first)); return (int) Math.asin(first); - } + public double inversesineOf(double num1) { + return Math.asin(num1); + } + public double cosign() { // 3 System.out.println("Give number:"); double first = Integer.valueOf(prompt.nextLine()); diff --git a/src/test/java/com/zipcodewilmington/scientificcalculator/BasicCalculatorTest.java b/src/test/java/com/zipcodewilmington/scientificcalculator/BasicCalculatorTest.java new file mode 100644 index 00000000..4ba0c8e4 --- /dev/null +++ b/src/test/java/com/zipcodewilmington/scientificcalculator/BasicCalculatorTest.java @@ -0,0 +1,22 @@ +package com.zipcodewilmington.scientificcalculator; + +import org.junit.Assert; +import org.junit.Test; + +public class BasicCalculatorTest { + + @Test + public void addTest() { + BasicCalculator adding = new BasicCalculator(); + double actual = adding.add(10, 5); + double expected = 15; + Assert.assertEquals(expected, actual, 0); + } + @Test + public void subTest() { + BasicCalculator subtracting = new BasicCalculator(); + double actual = subtracting.subst(10, 5); + double expected = 5; + Assert.assertEquals(expected, actual, 0); + } +} \ No newline at end of file diff --git a/src/test/java/com/zipcodewilmington/scientificcalculator/scientificCalcTest.java b/src/test/java/com/zipcodewilmington/scientificcalculator/scientificCalcTest.java index e008f894..d274a333 100644 --- a/src/test/java/com/zipcodewilmington/scientificcalculator/scientificCalcTest.java +++ b/src/test/java/com/zipcodewilmington/scientificcalculator/scientificCalcTest.java @@ -1,16 +1,28 @@ package com.zipcodewilmington.scientificcalculator; import java.lang.Math; -import static org.junit.Assert.*; + +import org.junit.Assert; +import org.junit.Test; public class scientificCalcTest { - @org.junit.Test + @Test public void sine() { - // given + // given 30 + double sine = Math.toRadians(30); + scientificCalc sineCalc = new scientificCalc(); + double actual = sineCalc.sineOf(sine); + double expected = 0.5; + Assert.assertEquals(expected, actual, 0.00001); } - @org.junit.Test + @Test public void inverseSine() { + double inversesine = 0.2; + scientificCalc inversesineCalc = new scientificCalc(); + double actual = inversesineCalc.inversesineOf(inversesine); + double expected = 0.201358; + Assert.assertEquals(expected, actual, 0.0001); } @org.junit.Test