ruelala 买东西慎重# Fashion - 美丽时尚
Z*n
1 楼
Write a calculator program in Java that evaluates expressions in a very
simple integer expression language. The program takes an input on the
command line, computes the result, and prints it to the console. For
example:
% java calculator.Main “mult(2, 2)”
4
Few more examples:
Input Output
add(1, 2) 3
add(1, mult(2, 3)) 7
mult(add(2, 2), div(9, 3)) 12
let(a, 5, add(a, a)) 10
let(a, 5, let(b, mult(a, 10), add(b, a))) 55
let(a, let(b, 10, add(b, b)), let(b, 20, add(a, b)) 40
An expression is one of the of the following:
•Numbers: integers between Integer.MIN_VALUE and Integer.MAX_VALUE
•Variables: strings of characters, where each character is one of a-z,
A-Z
•Arithmetic functions: add, sub, mult, div, each taking two arbitrary
expressions as arguments. In other words, each argument may be any of the
expressions on this list.
•A “let” operator for assigning values to variables:
let(, , )
Let这个功能 怎么实现比较好?
simple integer expression language. The program takes an input on the
command line, computes the result, and prints it to the console. For
example:
% java calculator.Main “mult(2, 2)”
4
Few more examples:
Input Output
add(1, 2) 3
add(1, mult(2, 3)) 7
mult(add(2, 2), div(9, 3)) 12
let(a, 5, add(a, a)) 10
let(a, 5, let(b, mult(a, 10), add(b, a))) 55
let(a, let(b, 10, add(b, b)), let(b, 20, add(a, b)) 40
An expression is one of the of the following:
•Numbers: integers between Integer.MIN_VALUE and Integer.MAX_VALUE
•Variables: strings of characters, where each character is one of a-z,
A-Z
•Arithmetic functions: add, sub, mult, div, each taking two arbitrary
expressions as arguments. In other words, each argument may be any of the
expressions on this list.
•A “let” operator for assigning values to variables:
let(
Let这个功能 怎么实现比较好?