Compare commits
7 Commits
VScode-Ver
...
master
Author | SHA1 | Date |
---|---|---|
|
52fadcd2f2 | |
|
a7da565992 | |
|
1bfae42460 | |
|
ddc615456a | |
|
909d5353df | |
|
f6b9e391ba | |
|
dc4294ea5e |
Binary file not shown.
|
@ -0,0 +1,58 @@
|
|||
package com.company;
|
||||
|
||||
|
||||
public class Calc {
|
||||
public static void print(String text) { //this is a small function to makes it easier to print out to terminal
|
||||
System.out.println(text); //similar to python output
|
||||
}
|
||||
//math functions
|
||||
public static double add(String num1, String num2){
|
||||
double add1 = Double.parseDouble(num1);
|
||||
double add2 = Double.parseDouble(num2);
|
||||
return add1 + add2;
|
||||
}
|
||||
public static double sub(String num1, String num2){
|
||||
double sub1 = Double.parseDouble(num1);
|
||||
double sub2 = Double.parseDouble(num2);
|
||||
return sub1 - sub2;
|
||||
}
|
||||
public static double mul(String num1, String num2){
|
||||
double mul1 = Double.parseDouble(num1);
|
||||
double mul2 = Double.parseDouble(num2);
|
||||
return mul1 * mul2;
|
||||
}
|
||||
|
||||
public static double div(String num1, String num2){
|
||||
double div1 = Double.parseDouble(num1);
|
||||
double div2 = Double.parseDouble(num2);
|
||||
if (div2 == 0 || div1 == 0){
|
||||
print("cant divide by zero");
|
||||
print("error code:");
|
||||
return -1;
|
||||
}
|
||||
return div1 / div2;
|
||||
}
|
||||
public static String mulRound(String num1, String num2){
|
||||
double mul1 = Double.parseDouble(num1);
|
||||
double mul2 = Double.parseDouble(num2);
|
||||
return Math.round(mul1 * mul2) + "rounded";
|
||||
}
|
||||
public static String divRemain(String num1, String num2){
|
||||
double div1 = Double.parseDouble(num1);
|
||||
double div2 = Double.parseDouble(num2);
|
||||
if (div2 == 0){
|
||||
print("cant divide by zero");
|
||||
print("error code:");
|
||||
return "-1";
|
||||
}
|
||||
else if (div1 == 0)
|
||||
return "0";
|
||||
else {
|
||||
int div1I = (int) div1;
|
||||
int div2I = (int) div2;
|
||||
int divT = div1I / div2I;
|
||||
return divT + " with remainder of: " + div1 % div2;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -3,69 +3,51 @@ package com.company;
|
|||
import java.util.Scanner;
|
||||
|
||||
public class Main {
|
||||
public static void main(String[] args)
|
||||
{
|
||||
Scanner in = new Scanner(System.in);
|
||||
@SuppressWarnings("InfiniteLoopStatement")
|
||||
public static void main(String[] args) {
|
||||
double total = 0;
|
||||
String num1;
|
||||
String num2;
|
||||
while (true) {
|
||||
print("Enter first number: ");
|
||||
String num1 = in.nextLine();
|
||||
print("please enter second number");
|
||||
String num2 = in.nextLine();
|
||||
print("Inputs complete");
|
||||
print("Please input operator");
|
||||
print("+ , - , * or x , /");
|
||||
Scanner in = new Scanner(System.in);
|
||||
System.out.println("Enter first number: ");
|
||||
num1 = in.nextLine();
|
||||
if (num1.equals("ans") || num1.equals("total")) {
|
||||
num1 = String.valueOf(total);
|
||||
}
|
||||
System.out.println("please enter second number");
|
||||
num2 = in.nextLine();
|
||||
if (num2.equals("ans") || num2.equals("total")) {
|
||||
num2 = String.valueOf(total);
|
||||
}
|
||||
System.out.println("Inputs complete");
|
||||
System.out.println("Please input operator");
|
||||
System.out.println("+ , - , * or x , /");
|
||||
System.out.println("'for rounded multiplication: use '*r', 'Xr' or 'xr'");
|
||||
System.out.println("'for remainder division: use '/R' or '/r'");
|
||||
String op = in.nextLine();
|
||||
|
||||
switch (op) {
|
||||
case "+": {
|
||||
int total = add(num1, num2);
|
||||
case "+" -> {
|
||||
total = Calc.add(num1, num2);
|
||||
System.out.println(total);
|
||||
}
|
||||
case "-": {
|
||||
int total = sub(num1, num2);
|
||||
case "-" -> {
|
||||
total = Calc.sub(num1, num2);
|
||||
System.out.println(total);
|
||||
}
|
||||
case "x": {
|
||||
int total = mul(num1, num2);
|
||||
case "*", "x" -> {
|
||||
total = Calc.mul(num1, num2);
|
||||
System.out.println(total);
|
||||
}
|
||||
case "*": {
|
||||
int total = mul(num1, num2);
|
||||
case "/" -> {
|
||||
total = Calc.div(num1, num2);
|
||||
System.out.println(total);
|
||||
}
|
||||
case "/": {
|
||||
int total = div(num1, num2);
|
||||
System.out.println(total);
|
||||
}
|
||||
default: print("Unexpected value: " + op + " ...restarting program");
|
||||
case "*/", "xR", "xr" -> System.out.println(Calc.mulRound(num1, num2));
|
||||
case "/R", "/r" -> System.out.println(Calc.divRemain(num1, num2));
|
||||
default -> System.out.println("Unexpected value: '" + op + "' ...restarting program");
|
||||
}
|
||||
}
|
||||
}
|
||||
private static void print(String text){
|
||||
System.out.println(text);
|
||||
}
|
||||
private static int add(String num1, String num2){
|
||||
int add1 = Integer.parseInt(num1);
|
||||
int add2 = Integer.parseInt(num2);
|
||||
return add1 + add2;
|
||||
}
|
||||
private static int sub(String num1, String num2){
|
||||
int sub1 = Integer.parseInt(num1);
|
||||
int sub2 = Integer.parseInt(num2);
|
||||
return sub1 - sub2;
|
||||
}
|
||||
private static int mul(String num1, String num2){
|
||||
int mul1 = Integer.parseInt(num1);
|
||||
int mul2 = Integer.parseInt(num2);
|
||||
return mul1 * mul2;
|
||||
}
|
||||
private static int div(String num1, String num2){
|
||||
int div1 = Integer.parseInt(num1);
|
||||
int div2 = Integer.parseInt(num2);
|
||||
if (div2 == 0 || div1 == 0){
|
||||
print("cant divide by zero");
|
||||
return -1;
|
||||
}
|
||||
return div1 / div2;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue