Как читать и извлечь целое число из строки в Java - PullRequest
0 голосов
/ 11 февраля 2010

С учетом строки

7 + 45 * 65

Как проверить, является ли данный символ этой строки целым числом, а затем сохранить целое целое значение в целочисленной переменной?

например. для 65, проверьте, является ли 6 целым числом, если да, то сохраните 65 в другой целочисленной переменной. Вы можете предположить, что строка может быть преобразована в массив символов.

Ответы [ 4 ]

2 голосов
/ 11 февраля 2010

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

  • Ознакомьтесь с документацией API для Characterучебный класс.Это будет содержать методы определения того, является ли символ цифрой.
  • Попробуйте использовать StringBuilder для сохранения промежуточного числового результата, который вы читаете в каждой цифре числа.
  • Проверьте API класса Integer для методов, помогающих разобрать значение String (сохраненное в вашем StringBuilder) и превратить его в int.
  • Наконец, рассмотрите возможность использования List (например, LinkedList) для хранения значения int.
1 голос
/ 12 февраля 2010

Для быстрого и грязного решения я бы использовал StringTokenizer и попробовал {Integer.parseInt ()} catch (NumberFormatException) {}

1 голос
/ 11 февраля 2010

Самое простое решение - использовать java.util.Scanner. Вы можете установить Scanner.useDelimeter("\\D+"), что будет означать пропуск любых нецифровых символов, а затем вызвать Scanner.nextInt() для получения следующего целого числа из строки.

Если вы хотите работать с символами, используйте Character.isDigit(char c).

1 голос
/ 11 февраля 2010

Проверьте этот пост на точно такую ​​же тему:

Программирование на Java - оценка математического выражения String

Похоже, что в BeanShell есть самый чистый способ сделать то, что вам нужно. Вы также можете попробовать метод движка JavaScript (хотя BeanShell выглядит для меня чище).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...