在考虑质数时,我必须将一个布尔表达式标记为一个名为tokens的数组列表。 (撇号)
我的代码适用于输入,例如
但只要输入字符串的最后一个字符是撇号,就不会起作用,例如: A '+ B' AB + C” A'B'C'
public static void tokenize(String expression)
{
String current = "";
String temp = "";
int counter=0;
for(int i = 0; i < expression.length(); i++)
{
char c = expression.charAt(i);
if(counter==0 && (c=='+' || c=='*'))
{
tokens.add(current);
limit++;
current = "";
if(tempUsed)
{
tokens.add(temp);
limit++;
tempUsed=false;
}
continue;
}
else if(c=='(')
{
counter++;
}
else if(c==')')
{
if(i+1<expression.length())
{
if(expression.charAt(i+1)=='\'')
{
temp = "("+current+")\'";
tempUsed = true;
}
}
counter--;
}
if(c!='(' && c!=')')
{
if(!(tempUsed && c=='\''))
current += c;
}
}
tokens.add(current);
limit++;
}
有什么想法?任何帮助将不胜感激。谢谢!