用Java标记字符串

时间:2014-04-21 19:41:22

标签: java string parsing char token

我目前正在开发一个将字符串解析为单个标记的项目。这一切都很好,但我被困(显然)。我目前想测试字符串是否匹配关键字(即true,false,class,inherits等)并将该字符串作为标记返回(请注意我没有使用Java API提供的StringTokenizer,IIRC)。

以下是我的关键字代码:

if (isAlpha(ch)){
        System.out.println("Current character:" + ch);
        letters += ch;
        charIndex--;
        while(isDigit(nextChar()) || isAlpha(nextChar())){
            Character c = nextChar();
            System.out.println("C:" + c);
            letters += c;
            charIndex++;
            System.out.println("After another character:" + letters);
        }
        if(letters == "class"){
            token = new Token(token.CLASS, letters);
        }
        if(letters == "inherits"){
            token = new Token(token.INHERIT, letters);
        }
        if(letters == "if"){
            token = new Token(token.IF, letters);
        } //etc etc

我已经在测试中将问题分离为以字母字符结尾的字符串(即“有趣”;此标记/字符串将是标识符)。它继续循环“y”并打印“当前字符:y”。它适用于像“funny6”这样的字符串。我可能会错过显而易见的事情(可能与空白有关),但任何建议都会受到赞赏。

谢谢!

0 个答案:

没有答案