Я хотел бы знать, возможно ли добавить 2 или более чисел из текстового представления, лучшим примером, который я мог бы назвать, является калькулятор акций Android. Я прикреплял фотографии своего приложения, первое изображение - это приложение, которое прекрасно работает
Мне также понравится мое приложение для этого (добавив 25 + 25 ИЛИ 25-5 Я получаю foreclose, когда я начинаю операцию, щелкая вычислять. кто-нибудь может помочь мне с этим? Я искал всюду для ответа W/O любую удачу. спасибо
Поскольку вы не опубликовали полный минимальный код, необходимый для репликации проблемы, я просто предполагаю, что вы получаете ввод как тип String или CharSequence, а затем вы пытаетесь сразу превратить его в число, без предварительного разбора его для разных частей.
Вот простой пример разбора ввода String, аналогичный тому, что вы предлагаете обработать. Обратите внимание, что я вовсе не предполагаю, что так вы должны обрабатывать свои входы. (Я просто устанавливаю семя.) Фактически, синтаксический анализ строковых входов для функций калькулятора является очень популярной темой, для которой многие поисковые запросы и различные подходы можно найти в Google. (Также обратите внимание, что некоторые более "надежные" функции разбора калькулятора разбивают входные данные на дерево или стек операторов и операндов.)
public class Foo
{
public static void main(String[] args)
{
String input = "2+2";
String[] parts = input.split("\\+");
int operand1 = Integer.parseInt(parts[0]);
int operand2 = Integer.parseInt(parts[1]);
int result = operand1 + operand2;
System.out.println(input + "=" + result);
}
}
Это требует, чтобы приложение анализировало содержимое текстового представления и интерпретировало его в терминах вычислений, которые он знает, как это сделать. В api нет абсолютно ничего, что автоматически анализирует и оценивает выражения, введенные в текстовое представление.
Вам нужно будет разобрать текст, прежде чем преобразовать его в число.
См. http://www.jguru.com/faq/view.jsp?EID=480122 и http://www.ibm.com/developerworks/java/library/j-scala10248/index.html для идеи