Stack<String> s = new Stack<String>();
String[] tokens = infix.split(" ");
StringBuilder output = new StringBuilder();
Integer.getInteger("+", 1);
Integer.getInteger("-", 1);
Integer.getInteger("*", 2);
Integer.getInteger("/", 2);
for (int i = 0; i < tokens.length; i++)
{
if (tokens[i].matches("[0-9]"))
{
output.append(tokens[i] + " ");
}
else if (tokens[i].equals("+") || tokens[i].equals("-") || tokens[i].equals("*") || tokens[i].equals("/"))
{
if(tokens[i] <= s.peek())
{
}
}
}
return output.toString();
我在做一个中缀到后缀计算器,我想说,如果当前的标记值小于或等于该代币的价值在顶部堆栈。我使用Integer.valueOf为特定的标记设置一个数字值,但由于它们是字符串,因此无法使用“< =”,是否需要使用String.greaterThan()[虚构]类型的方法?比较字符串值,缀与postfix
呃,'Integer.valueOf(“+”,1);'是怎么回事去炸掉。 “+”不是一个数字。 – azurefrog