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