【发布时间】:2018-01-01 06:06:19
【问题描述】:
我正在尝试编写一个计算算术表达式值的方法。该方法采用两个 int 参数 value1 和 value2 以及一个字符串参数运算符。如果运算符不是 *、/、- 或 + 或者 / 后面的 value2 为 0,我会抛出 IllegalArgumentException。
如何让字符串值在算术表达式中起作用?到目前为止,这是我拥有的代码:
public static int compute(int value1, String operator, int value2)
{
if ((!operator.equals("+")) || (!operator.equals("*")) ||
(!operator.equals("-")) || (!operator.equals("/")))
{
throw new IllegalArgumentException("Invalid Operator");
}
if ((operator.equals("/")) && (value2 == 0))
{
throw new IllegalArgumentException("Divide by 0 error");
}
int result;
return result = (value1 + operator + value2);
}
【问题讨论】:
-
if(operator.equals("+")) result = value1+value; else if(....,否则使用Stringand parse the whole expresseion -
谢谢,我的程序可以运行了。
标签: java string methods throw arithmetic-expressions