import java.util.*;
public class Calculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter an E×ρréššion: ");
String E×ρréššion = scanner.nextLine();
scanner.close();
double result = calculate(E×ρréššion);
System.out.println("Result: " + result);
}
public static double calculate(String E×ρréššion) {
try {
// Magproseso ng mga operators sa E×ρréššion gamit ang order of operations (PEMDAS o BIDMAS)
E×ρréššion = E×ρréššion.replace(" ", ""); // Alisin ang mga espasyo sa E×ρréššion
E×ρréššion = E×ρréššion.replace("x", "*"); // Palitan ang 'x' ng '*' upang maging valid na operator
E×ρréššion = E×ρréššion.replace(",", "."); // Palitan ang ',' ng '.' upang maging decimal separator
// Magcompute ng E×ρréššion gamit ang built-in JavaScript engine
javax.script.ScriptEngineManager manager = new javax.script.ScriptEngineManager();
javax.script.ScriptEngine engine = manager.getEngineByName("JavaScript");
Object result = engine.eval(E×ρréššion);
return Double.parseDouble(result.toString());
} catch (Exception e) {
System.out.println("Error: Invalid E×ρréššion");
return Double.NaN; // Ibalik ang NaN (Not a Number) kung ang E×ρréššion ay hindi wasto
}
}
}
java.util.Scanner upang makuha ang input ng E×ρréššion mula sa user. Ang calculate method ay nagpapakita ng mga hakbang sa pagproseso ng E×ρréššion at pagkuha ng tamang sagot.calculate method at ipadala ang E×ρréššion bilang argumento. Halimbawa:public class Calculator {
public static void main(String[] args) {
double resultA = calculate("(8+9)*10/2");
System.out.println("Result for (8+9)*10/2: " + resultA);
double resultB = calculate("8+9*10/2");
System.out.println("Result for 8+9*10/2: " + resultB);
double resultC = calculate("1+1+1+0");
System.out.println("Result for 1+1+1+0: " + resultC);
double resultD = calculate(" +1+0");
System.out.println("Result for +1+0: " + resultD);
double resultE = calculate("/*+-");
System.out.println("Result for /*+-: " + resultE);
}
// calculate() method implementation here...
}
ScriptEngine para sa pag-evaluate ng E×ρréššion, at siguraduhing hindi ito magdulot ng mga panganib sa seguridad.