Compare commits

...

7 Commits

Author SHA1 Message Date
chris 52fadcd2f2 Merge pull request 'Alpha to main' (#1) from Alpha into master
Reviewed-on: https://kitsunehosting.net/gitea/chris/JavaCalc/pulls/1
2021-03-18 13:00:32 -04:00
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
Chris's Razer Blade 909d5353df version 1.2
- added total retention
  - similar to "Ans" on TI calculators
 -made Calc class to hold all Calc methods
2021-01-22 11:36:34 -05:00
Chris's Razer Blade f6b9e391ba version 1.2
- added total retention
  - similar to "Ans" on TI calculators
2021-01-22 11:19:36 -05:00
Chris's Razer Blade dc4294ea5e Change over to Intellij
using older version of switch
2021-01-08 17:48:20 -05:00
3 changed files with 90 additions and 50 deletions

58
src/com/company/Calc.java Normal file
View File

@ -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;
}
}
}

View File

@ -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;
}
}