Add src/main/java/dev/sillyangel/calc/utils
All checks were successful
Build the Jar / build (push) Successful in 12s

This commit is contained in:
2026-01-08 09:01:00 -06:00
parent 2fdf160ed3
commit e4d0c8b543

View File

@@ -0,0 +1,104 @@
utils.java
package dev.sillyangel.calc;
public class utils {
// private double result;
// private boolean resultVisible;
private Calculator ci;
public utils(Calculator ci) {
System.out.printf("");
this.ci = ci;
}
public void reciprocal() {
String tmp = ci.display.getText();
if (tmp == null || tmp.isEmpty()) {
return;
}
try {
double value = Double.parseDouble(tmp);
if (value != 0) {
ci.result = 1.0 / value;
ci.display.setText("" + ci.result);
ci.resultVisible = true;
} else {
ci.display.setText("Error: Div by Zero");
ci.resultVisible = false;
}
} catch (NumberFormatException e) {
ci.display.setText("Error: Invalid Input");
ci.resultVisible = false;
}
}
public void clearAll() {
ci.display.setText("");
ci.operand1 = "";
ci.operand2 = "";
ci.operator = "";
}
public void square() {
String tmp = ci.display.getText();
if (tmp == null || tmp.isEmpty()) return;
double value = Double.parseDouble(tmp);
ci.result = value * value;
ci.display.setText("" + ci.result);
ci.resultVisible = true;
}
public void squareRoot() {
String tmp = ci.display.getText();
if (tmp == null || tmp.isEmpty()) return;
double value = Double.parseDouble(tmp);
if (value >= 0) {
ci.result = Math.sqrt(value);
ci.display.setText("" + ci.result);
ci.resultVisible = true;
}
}
public void backspace() {
String tmp = ci.display.getText();
if (tmp.length()>1) // if there is more than 1 character
ci.display.setText( tmp.substring(0, tmp.length()-1) );
else // otherwise just make display empty
ci.display.setText("");
}
public void math() {
ci.operand2 = ci.display.getText();
double op1 = Double.parseDouble(ci.operand1);
double op2 = Double.parseDouble(ci.operand2);
if ("+".equals(ci.operator)) {
ci.result = op1+op2;
} else if ("-".equals(ci.operator)) {
ci.result = op1-op2;
} else if ("*".equals(ci.operator)) {
ci.result = op1*op2;
} else if ("/".equals(ci.operator)) {
ci.result = op1/op2;
} else if ("%".equals(ci.operator)) {
ci.result = op1 % op2;
} else {
ci.result = op2;
System.out.println("Op: " + op1);
System.out.println("Op2: " + op2);
}
// Save calculation to history
if (!ci.operator.isEmpty()) {
String calculation = ci.operand1 + " " + ci.operator + " " + ci.operand2 + " = " + ci.result;
ci.history.saveToHistory(calculation);
}
ci.operator = "";
ci.operand1 = "";
ci.operand2 = "";
resultVisible = true;
display.setText(""+result);
saveToUndoStack(""+result);
}
}