Android CharSequence Number Detection(0-9) в одном выражении без использования if else

Я новичок в Android и пытаюсь сделать калькулятор...

Теперь я извлек все выражение в переменной charSequence.

например, 30+69-(3-10)

Теперь мне нужно определить, является ли первый символ переменной charSequence числом (0-9) или символом / оператором.

я могу использовать get.subSequence(0,1), но не хочу сравнивать его с каждым числом, чтобы решить, является ли это число или нет, и если это число, то какое это....

Как я могу сравнить его с каждым числом, используя меньше условий, а также извлечь это конкретное число....

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, поэтому я не могу обещать, что он работает в данный момент.

Другие вопросы по тегам