我是android新手,正在尝试制作计算器...
现在我已经在 charSequence 变量中提取了整个表达式。
例如 30+69-(3-10)
现在我需要检测 charSequence 变量的第一个字符是数字(0-9)还是字符/运算符。
我可以使用 get.subSequence(0,1) 但不想将它与每个数字进行比较来决定它是否是一个数字,如果它是一个数字那么它是哪一个....
我如何使用更少的条件将它与每个数字进行比较,并提取该特定数字....
我是android新手,正在尝试制作计算器...
现在我已经在 charSequence 变量中提取了整个表达式。
例如 30+69-(3-10)
现在我需要检测 charSequence 变量的第一个字符是数字(0-9)还是字符/运算符。
我可以使用 get.subSequence(0,1) 但不想将它与每个数字进行比较来决定它是否是一个数字,如果它是一个数字那么它是哪一个....
我如何使用更少的条件将它与每个数字进行比较,并提取该特定数字....
您可以使用:
Character.isDigit(someChar)
这将告诉您 char 是否为数字。
如果不是,您可以假设它是一个运算符并将其视为运算符。
所以一个实现可能看起来像:
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 编译器,所以我不能保证目前可以使用。