public class Main { public Main(){ float res = calc(formula); System.out.println("Result is equal to: " + res); } String formula = "7 - 5 + 3 - 2 - 3"; float calc(String formula){ formula = formula.replaceAll("\\s+", ""); Func root = null; System.out.println(formula); for(int i = formula.length() - 1; i > 0; i--){ if(formula.charAt(i) == '+'){ System.out.println("Create root addition: " + formula); String a = formula.substring(0, i); String b = formula.substring(i + 1, formula.length()); System.out.println(a + ":" + b); root = new Func(Func.OP_TYPE.ADDITION, a, b); break; } else if(formula.charAt(i) == '-'){ System.out.println("Create root subtraction: " + formula); String a = formula.substring(0, i); String b = formula.substring(i + 1, formula.length()); root = new Func(Func.OP_TYPE.SUBTRACTION, a, b); break; } } System.out.println("ONP"); root.printONP(); System.out.println("\n"); return root.calc(); } public static void main(String[] args){ System.out.println("PROGRAM START"); new Main(); System.out.println("PROGRAM END"); } }