答案 0 :(得分:0)
您可以使用以下代码提取数字。
LinkedList<Integer> numbers = new LinkedList<Integer>();
Pattern p = Pattern.compile("\\d+");
String line = "9/8*9+3";
Matcher m = p.matcher(line);
numbers.clear();
while (m.find()) {
numbers.add(Integer.parseInt(m.group()));
}
答案 1 :(得分:0)
与Sanjeet相同的方法,不同的工具。
List<Integer> numbers = new ArrayList<>();
String expression = "9/8*9+3";
for (String number : expression.split("[\\+-/\\*]")) {
numbers.add(Integer.parseInt(number));
}
修改强>
请注意分割方法存在局限性。两个(Sajeets和我的)都不允许负数(负数将被剥离)。我们也假设整数。我的方法可以改为使用浮点数。