Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
4d6a6f9
created class BasicCalculator
todd-bowers Jun 25, 2022
1ae69e9
Scientific Functions so far
Ashley-MacNeel Jun 25, 2022
23c5302
Scientific Functions so far
Ashley-MacNeel Jun 25, 2022
8bf844c
Scientific Functions so far
Ashley-MacNeel Jun 25, 2022
2793224
Scientific Functions so far
Ashley-MacNeel Jun 25, 2022
8958449
Scientific Functions so far
Ashley-MacNeel Jun 25, 2022
8466c3c
Scientific Functions so far
Ashley-MacNeel Jun 25, 2022
57bd4aa
Merge branch 'master' of https://github.com/Zipcode-Team-10/Scientifi…
Ashley-MacNeel Jun 25, 2022
1463592
fixed main
todd-bowers Jun 25, 2022
55ecb05
created a new branch
Ashley-MacNeel Jun 25, 2022
de194da
"test add and sub"
eugeneshine1 Jun 25, 2022
b6bafd3
test added
eugeneshine1 Jun 25, 2022
a103647
test added
eugeneshine1 Jun 25, 2022
0a421e0
Scientific Functions so far
Ashley-MacNeel Jun 25, 2022
682ce28
variable declared to values
eugeneshine1 Jun 25, 2022
44127c8
made two separate files for basic and scientific and tested all values
eugeneshine1 Jun 25, 2022
be89f3b
values changed to radian values and answer
eugeneshine1 Jun 25, 2022
7e68bef
add basic calc test
eugeneshine1 Jun 25, 2022
6d42265
added test cases for basic and scientific
eugeneshine1 Jun 25, 2022
f18ecaa
Scientific Functions Update
Ashley-MacNeel Jun 25, 2022
3f570a0
Merge pull request #1 from Zipcode-Team-10/ashley
todd-bowers Jun 25, 2022
261c698
FINALLY GOT IT
todd-bowers Jun 26, 2022
fa0589e
adding in BasicCalculator methods to main application
todd-bowers Jun 26, 2022
5f24a02
small edits
todd-bowers Jun 26, 2022
102e77e
Added in methods to change units and mode and to allow user to loop b…
todd-bowers Jun 27, 2022
4033c17
changed variable names to match main method
eugeneshine1 Jun 27, 2022
672cdd9
Merge branch 'master' into eugene
todd-bowers Jun 27, 2022
b6b5c37
updated version but few tests fail
eugeneshine1 Jun 28, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,24 @@
<groupId>com.zipcodewilmington</groupId>
<artifactId>scientific_calculator</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.9.0-M1</version>
<scope>test</scope>
</dependency>
</dependencies>
<properties>
<maven.compiler.source>18</maven.compiler.source>
<maven.compiler.target>18</maven.compiler.target>
</properties>


</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package com.zipcodewilmington.scientificcalculator;

public class BasicCalculator {
String name;

public double add(double screen, double num2 ) {
return screen + num2;
}
public double subtract(double screen, double num2 ) {
return screen - num2;
}
public double multiply(double screen, double num2 ) {
return screen * num2;
}
public double divide(double screen, double num2 ) {
return screen / num2;
}
public double modulus(double screen, double num2 ) {
return screen % num2;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,16 @@ public static String getStringInput(String prompt) {
}

public static Integer getIntegerInput(String prompt) {
return null;
Scanner scanner = new Scanner(System.in);
println(prompt);
int userInput = scanner.nextInt();
return userInput;
}

public static Double getDoubleInput(String prompt) {
return null;
Scanner scanner = new Scanner(System.in);
println(prompt);
double userInput = scanner.nextDouble();
return userInput;
}
}
Original file line number Diff line number Diff line change
@@ -1,17 +1,162 @@
package com.zipcodewilmington.scientificcalculator;
import java.util.Scanner;

/**
* 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.");

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! Default units are degrees, display mode is Decimal.");
// 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);
Scanner input = new Scanner(System.in);
ScientificFunctionality sf = new ScientificFunctionality();
BasicCalculator bc = new BasicCalculator();

boolean loop = true;
double screen = 0;

do {

if (screen == 0) {
System.out.print("Enter number: ");
screen = input.nextDouble();
} else {

System.out.print("Enter operation: ");
String operation = input.next();
String operator = operation.toLowerCase();

switch (operator) {
case "clear":
screen = 0;
Console.println("Answer: %s", screen);
break;
case "add":
System.out.println("Enter number: ");
double num2 = input.nextDouble();
screen = bc.add(screen, num2);
Console.println("Answer: %s", screen);
break;
case "subtract":
System.out.println("Enter number: ");
num2 = input.nextDouble();
screen = bc.subtract(screen, num2);
Console.println("Answer: %s", screen);
break;
case "multiply":
System.out.println("Enter number: ");
num2 = input.nextDouble();
screen = bc.multiply(screen, num2);
Console.println("Answer: %s", screen);
break;
case "divide":
System.out.println("Enter number: ");
num2 = input.nextDouble();
if (num2 == 0) {
System.out.println("Divide by 0 error");
} else {
screen = bc.divide(screen, num2);
Console.println("Answer: %s", screen);
}
break;
case "modulus":
System.out.println("Enter number: ");
num2 = input.nextDouble();
if (num2 == 0) {
System.out.println("Divide by 0 error");
} else {
screen = bc.modulus(screen, num2);
Console.println("Answer: %s", screen);
}
break;
case "square":
screen *= screen;
Console.println("Answer: %s", screen);
break;
case "squareroot":
screen = Math.sqrt(screen);
Console.println("Answer: %s", screen);
break;
case "exponent":
System.out.println("Enter number: ");
num2 = input.nextDouble();
screen = Math.pow(screen, num2);
Console.println("Answer: %s", screen);
break;
case "inverse":
screen = 1 / screen;
Console.println("Answer: %s", screen);
break;
case "negative":
screen = -screen;
Console.println("Answer: %s", screen);
break;
case "sin":
screen = sf.calcSine(screen);
Console.println("Answer: %s", screen);
break;
case "cos":
screen = sf.calcCoSine(screen);
Console.println("Answer: %s", screen);
break;
case "tan":
screen = sf.calcTangent(screen);
Console.println("Answer: %s", screen);
break;
case "arcsin":
screen = sf.calcInverseSine(screen);
Console.println("Answer: %s", screen);
break;
case "arccos":
screen = sf.calcInverseCosine(screen);
Console.println("Answer: %s", screen);
break;
case "arctan":
screen = sf.calcInverseTangent(screen);
Console.println("Answer: %s", screen);
break;
case "log":
screen = sf.calcLog(screen);
Console.println("Answer: %s", screen);
break;
case "inverselog":
screen = sf.calcInverseLog(screen);
Console.println("Answer: %s", screen);
break;
case "ln":
screen = sf.calcNaturalLog(screen);
Console.println("Answer: %s", screen);
break;
case "inverseln":
screen = sf.calcInverseNaturalLog(screen);
Console.println("Answer: %s", screen);
break;

case "units":
System.out.println("Degrees or Radians? ");
String units = input.next();
System.out.println(sf.switchUnitsMode(units));
break;
case "mode":
System.out.println("Binary, Octal, Decimal or Hexadecimal? ");
String mode = input.next();
System.out.println(sf.switchDisplayMode(mode));
break;
default:
System.out.println("Command not recognized.");
break;
}
System.out.println("Continue? Y or N: ");
String more = input.next();
if (more.equals("N")) {
loop = false;
}}
} while(loop);
}
}
Loading