$ javac src/ResultDemo.java && java ResultDemo (21.0.10+7-Ubuntu-124.04) 21 -> ok 42 abc -> error: not a number: abc $ javac src/ResultDemo.java && java ResultDemo (25.0.4.1+1-LTS) 21 -> ok 42 abc -> error: not a number: abc $ javac src/ResultDemo.java && java ResultDemo (27+35) 21 -> ok 42 abc -> error: not a number: abc $ javac src/ExprDemo.java && java ExprDemo (21.0.10+7-Ubuntu-124.04) Add[left=Mul[left=Num[value=1], right=Num[value=7]], right=Neg[inner=Neg[inner=Num[value=3]]]] eval = 10 simplify = Add[left=Num[value=7], right=Num[value=3]] (eval 10) $ javac src/ExprDemo.java && java ExprDemo (25.0.4.1+1-LTS) Add[left=Mul[left=Num[value=1], right=Num[value=7]], right=Neg[inner=Neg[inner=Num[value=3]]]] eval = 10 simplify = Add[left=Num[value=7], right=Num[value=3]] (eval 10) $ javac src/ExprDemo.java && java ExprDemo (27+35) Add[left=Mul[left=Num[value=1], right=Num[value=7]], right=Neg[inner=Neg[inner=Num[value=3]]]] eval = 10 simplify = Add[left=Num[value=7], right=Num[value=3]] (eval 10)