Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
Original file line number Diff line number Diff line change
Expand Up @@ -9,30 +9,66 @@

public class Console {

public static int add(int a, int b) {
int sum = a + b;
public static double add(double a, double b) {
double sum = a + b;
System.out.println(sum);
return sum;
}

public static int subtract(int a, int b) {
int difference = a - b;
public static double subtract(double a, double b) {
double difference = a - b;
System.out.println(difference);
return difference;
}

public static int multiply(int a, int b) {
int product = a * b;
public static double multiply(double a, double b) {
double product = a * b;
System.out.println(product);
return product;
}

public static int divide(int a, int b) {
int quotient = a / b;
public static double divide(double a, double b) {
double quotient = a / b;
System.out.println(quotient);
return quotient;
}

public static double square(double a) {
double result = a * a;
System.out.println(result);
return result;
}

public static double squareRoot(double a) {
double result = Math.sqrt(a);
System.out.println(result);
return result;
}

public static double inverse(double a) {
double result = 1 / a;
System.out.println(result);
return result;
}

public static double invert(double a) {
double result = -a;
System.out.println(result);
return result;
}

public static double logarithm(double a) {
double result = Math.log(a);
System.out.println(result);
return result;
}

public static double exponent(double a, double b) {
double result = Math.pow(a, b);
System.out.println(result);
return result;
}



public static void print(String output, Object... args) {
Expand Down Expand Up @@ -66,4 +102,3 @@ public static Double getDoubleInput(String prompt) {
}



Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@

public class MainApplication {

public static int calculate(int a, int b, String operator) {
int result = 5;
public static double calculate(double a, double b, String operator) {
double result = 0;
switch (operator) {
case "+":
result = Console.add(a, b);
Expand All @@ -22,48 +22,72 @@ public static int calculate(int a, int b, String operator) {
case "/":
result = Console.divide(a, b);
break;
case "sqrt":
result = (double) Console.squareRoot(a);
break;
case "sqr":
result = (double) Console.square(a);
break;
case "inv":
result = (double) Console.inverse(a);
break;
case "neg":
result = (double) Console.invert(a);
break;
case "log":
result = (double) Console.logarithm(a);
break;
case "exp":
result = (double) Console.exponent(a, b);
break;
default:
System.out.println("Invalid operator");
}
return result;
}


// Console.println("");
// String s = Console.getStringInput("Enter a string");
// Integer i = Console.getIntegerInput("Enter an integer");
// Double d = Console.getDoubleInput("Enter a double");
// }


// public static void main(String[] args, Object userInput, Object prompt, String operator) {

// if (userInput instanceof String) {
// System.out.println();
// String userInputStr = Console.getStringInput(prompt);
// Console.println(userInputStr);
// } else if (userInput instanceof Integer) {
// System.out.println();
// Integer userInputInt = Console.getIntegerInput(prompt);
// Console.println(userInputInt);
// } else if (userInput instanceof Double) {
// System.out.println();
// Double userInputDbl = Console.getDoubleInput(prompt);
// Console.println(userInputDbl);
// }
// else {
// System.out.println("Invalid input type");
// }
// System.out.println(prompt);
// }

public static void main(String[] args) {
String prompt = "Enter an operator (+, -, *, /): ";
boolean isRunning = true;
double result = 0.0;

String prompt = "Enter an operator (+, -, *, /, sqrt, sqr, inv, neg, log, exp): ";
String operatorInput = Console.getStringInput(prompt);
Integer num1Input = Console.getIntegerInput("Enter the first number: ");
Integer num2Input = Console.getIntegerInput("Enter the second number: ");
int result = calculate(num1Input, num2Input, operatorInput);
Console.println("Result: %d", result);
if (operatorInput.equals("sqrt") || operatorInput.equals("sqr") || operatorInput.equals("inv") || operatorInput.equals("neg") || operatorInput.equals("log")) {
Double numInput = Console.getDoubleInput("Enter a number: ");
result = calculate(numInput, 0, operatorInput);
Console.println("Result: %f", result);
} else {

Double num1Input = Console.getDoubleInput("Enter the first number: ");
Double num2Input = Console.getDoubleInput("Enter the second number: ");
result = calculate(num1Input, num2Input, operatorInput);
Console.println("Result: %f", result);
}

while (isRunning) {
String again = Console.getStringInput("Use result in new equation? (yes/no): ");

if (again.equalsIgnoreCase("no")) {
isRunning = false;
} else {
String newOperator = Console.getStringInput("Enter an operator (+, -, *, /, sqrt, sqr, inv, neg, log, exp): ");

if (newOperator.equals("sqrt") || newOperator.equals("sqr") || newOperator.equals("inv") || newOperator.equals("neg") || newOperator.equals("log")) {
result = calculate(result, 0, newOperator);
} else {
Double newNum = Console.getDoubleInput("Enter a number: ");
result = calculate(result, newNum, newOperator);
}
Console.println("Result: %f", result);
}
}
Console.println("Thank you for using the calculator!");
}
}
}


// String newOperator = Console.getStringInput("Enter an operator (+, -, *, /): ");
// Double newNum = Console.getDoubleInput("Enter a number: ");
// double newResult = calculate(result, newNum, newOperator);
// result = newResult;
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,22 @@ public static int add(int a, int b) {
return sum;
}

public static int subtract(int a, int b) {
int difference = a - b;
System.out.println(difference);
return difference;
}

public static int multiply(int a, int b) {
int product = a * b;
System.out.println(product);
return product;
}

public static int divide(int a, int b) {
int quotient = a / b;
System.out.println(quotient);
return quotient;
}

}
Loading