我是机器人的新手,想做个计算器.
现在,我已经在一个charSequence变量中提取了整个表达式。
例如30+69-(3-10)
现在,我需要检测charSequence变量的第一个字符是数字(0-9)还是字符/运算符。
我可以使用get.subSequence(0,1),但不想将它与每个数字进行比较,以决定它是否是一个数字,如果是一个数字,那么它是哪一个.
我如何用较少的条件与每一个数字进行比较,并提取出这个特定的数字.
发布于 2013-10-09 20:20:54
您可以使用:
Character.isDigit(someChar)
这将告诉你一个字符是否是一个数字。
如果不是,您可以假设它是一个操作符,并将其视为操作符。
因此,实现可能如下所示:
CharSequence chars = "1+2-3";
for(int i = 0; i < chars.length(); i++ ) {
if (Character.isDigit(chars.charAt(i))) {
//is digit
} else {
//is operator
}
}
*我没有可用的java编译器,所以我现在不能保证它能工作。
https://stackoverflow.com/questions/19281760
复制相似问题