使用Java8新特性从数学算术表达式中提取数字和运算符
我正在尝试用Java8编写算术表达式求值。下面是用Java6编写的代码,但我想用lambda、streams和n收集器在Java8中实现它
for (int i = 0; i < tokens.length; i++)
{
if (tokens[i] == ' ')
continue;
if (tokens[i] >= '0' && tokens[i] <= '9')
{
StringBuffer sbuf = new StringBuffer();
while (i < tokens.length && tokens[i] >= '0' && tokens[i] <= '9')
sbuf.append(tokens[i++]);
values.push(Integer.parseInt(sbuf.toString()));
}
}
# 1 楼答案
您可以这样做:
您的解决方案不需要
while
循环