String result = "";
try{
int value = Integer.parseInt(a)+Integer.parseInt(b);
result = ""+value;
}catch(NumberFormatException ex){
//either a or b is not a number
result = "Invalid input";
}
MyStringSum.show(null,a+b);我使用的是包装类,但是我想要将两个字符串值相加而不使用
包装类,我能做这个吗?
发布于 2015-04-04 10:10:14
您不应该担心实现的效率,因为它没有使用任何包装对象。
java.lang.Integer扮演几个角色:
MIN_VALUE和MAX_VALUE,int的类方法,它充当了一个辅助类,用于处理原始and,以及int的Object包装器,并为其提供实例方法。因为您只使用parse(...),这是一个类方法,所以您的代码使用类的容量为#2,忽略了#1和#3。换句话说,在它的“int包装器”容量中没有使用Integer。
发布于 2015-04-04 11:13:52
试试exp4j。示例(来自链接):
Expression e = new ExpressionBuilder("3 * sin(y) - 2 / (x - 2)")
.variables("x", "y")
.build()
.setVariable("x", 2.3)
.setVariable("y", 3.14);
double result = e.evaluate();另一个选择是Javaluator。例如,请参阅链接。
还有EvalX。参见下面的示例(从链接中):
Expression expression = new Expression("1+1/3");
result = expression.eval():
expression.setPrecision(2);
result = expression.eval():我希望这能帮到你!
https://stackoverflow.com/questions/29445073
复制相似问题