1

我是android新手,正在尝试制作计算器...

现在我已经在 charSequence 变量中提取了整个表达式。

例如 30+69-(3-10)

现在我需要检测 charSequence 变量的第一个字符是数字(0-9)还是字符/运算符。

我可以使用 get.subSequence(0,1) 但不想将它与每个数字进行比较来决定它是否是一个数字,如果它是一个数字那么它是哪一个....

我如何使用更少的条件将它与每个数字进行比较,并提取该特定数字....

4

1 回答 1

5

您可以使用:

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 编译器,所以我不能保证目前可以使用。

于 2013-10-09T20:20:54.383 回答