Compare commits

3 Commits

Author SHA1 Message Date
Chris's Razer Blade
a7da565992 Version 1.3.1
- added rounded multiplication and division with remainders.
2021-03-18 12:44:57 -04:00
Chris's Razer Blade
1bfae42460 Version 1.3
- added decimal functionality (changed int to double)
2021-01-22 12:38:27 -05:00
Chris's Razer Blade
ddc615456a added error code to div by 0 2021-01-22 12:23:33 -05:00
3 changed files with 66 additions and 47 deletions

View File

@@ -1,42 +1,58 @@
package com.company;
public class Calc {
int num1;
int num2;
public static String main(String op,int num1,int num2) {
return "";
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 void print(String text){
System.out.println(text);
}
public static int add(String num1, String num2){
int add1 = Integer.parseInt(num1);
int add2 = Integer.parseInt(num2);
public static double add(String num1, String num2){
double add1 = Double.parseDouble(num1);
double add2 = Double.parseDouble(num2);
return add1 + add2;
}
public static int sub(String num1, String num2){
int sub1 = Integer.parseInt(num1);
int sub2 = Integer.parseInt(num2);
public static double sub(String num1, String num2){
double sub1 = Double.parseDouble(num1);
double sub2 = Double.parseDouble(num2);
return sub1 - sub2;
}
public static int mul(String num1, String num2){
int mul1 = Integer.parseInt(num1);
int mul2 = Integer.parseInt(num2);
public static double mul(String num1, String num2){
double mul1 = Double.parseDouble(num1);
double mul2 = Double.parseDouble(num2);
return mul1 * mul2;
}
public static int div(String num1, String num2){
int div1 = Integer.parseInt(num1);
int div2 = Integer.parseInt(num2);
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;
}
}
}

View File

@@ -5,11 +5,10 @@ import java.util.Scanner;
public class Main {
@SuppressWarnings("InfiniteLoopStatement")
public static void main(String[] args) {
int total = 0;
double total = 0;
String num1;
String num2;
while (true) {
Scanner in = new Scanner(System.in);
System.out.println("Enter first number: ");
num1 = in.nextLine();
@@ -21,30 +20,34 @@ public class Main {
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 , /");
String op = in.nextLine();
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 "+" -> {
total = Calc.add(num1, num2);
System.out.println(total);
}
case "-" -> {
total = Calc.sub(num1, num2);
System.out.println(total);
}
case "*", "x" -> {
total = Calc.mul(num1, num2);
System.out.println(total);
}
case "/" -> {
total = Calc.div(num1, num2);
System.out.println(total);
}
default -> System.out.println("Unexpected value: '" + op + "' ...restarting program");
switch (op) {
case "+" -> {
total = Calc.add(num1, num2);
System.out.println(total);
}
case "-" -> {
total = Calc.sub(num1, num2);
System.out.println(total);
}
case "*", "x" -> {
total = Calc.mul(num1, num2);
System.out.println(total);
}
case "/" -> {
total = Calc.div(num1, num2);
System.out.println(total);
}
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");
}
}
}
}