java - Android CharSequence Number Detection(0-9) 在一条语句中而不使用 if else

标签 java android charsequence

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

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

例如 30+69-(3-10)

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

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

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

最佳答案

您可以使用:

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 编译器,所以我现在不能保证它可以工作。

关于java - Android CharSequence Number Detection(0-9) 在一条语句中而不使用 if else,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19281760/

相关文章:

java.lang.NullPointerException : Attempt to read from field 'long org.opencv.core.Mat.nativeObj' on a null object reference

java - 将参数从 JNLP 传递到 JavaFX2

java - Firebase Firestore 不允许存储 LinkedHashMap - Android

java - 尝试将字符串 append 到自定义 StringBuilder 时出现重复且不正确的结果

java - 将 CharBuffer 和 StringBuilder 转换为超接口(interface)

java - NoSuchElementException : No line found

java - 找不到 request.getServletContext(),即使使用新的 JAR

javascript - React Native 动画组件在平移时被覆盖

如果消息已成功传递或发送,Android 短信会收到响应错误/通知

java - 什么时候在 String.subString 上使用 String.subSequence 方法?