gpt4 book ai didi

java - StreamTokenizer 预期结束字符

转载 作者:太空宇宙 更新时间:2023-11-04 15:06:13 26 4
gpt4 key购买 nike

我正在尝试实现一个分词器来将数学输入字符串解析为单独的部分,当我发布它期待一个 ; 时,我在第二行代码中遇到了一个看似微不足道的错误。线路中间的某个地方。

public static void parseFormula(String text){
List<String> tokenize(String s) throws IOException {
StreamTokenizer tokenizer = new StreamTokenizer(new StringReader(s));
tokenizer.ordinaryChar('-');
List<String> tokBuf = new ArrayList<String>();
while (tokenizer.nextToken() != StreamTokenizer.TT_EOF) {
switch(tokenizer.ttype) {
case StreamTokenizer.TT_NUMBER:
tokBuf.add(String.valueOf(tokenizer.nval));
break;
case StreamTokenizer.TT_WORD:
tokBuf.add(tokenizer.sval);
break;
default:
tokBuf.add(String.valueOf((char) tokenizer.ttype));
}
}
return tokBuf;
}
}

最佳答案

您有一个嵌套在 parseFormula 中的方法 tokenize。 Java 不允许嵌套方法。这就是编译错误的原因。将方法拆开后,以下代码可以正常编译:

List<String> tokenize(String s) throws IOException {
StreamTokenizer tokenizer = new StreamTokenizer(new StringReader(s));
tokenizer.ordinaryChar('-');
List<String> tokBuf = new ArrayList<String>();
while (tokenizer.nextToken() != StreamTokenizer.TT_EOF) {
switch(tokenizer.ttype) {
case StreamTokenizer.TT_NUMBER:
tokBuf.add(String.valueOf(tokenizer.nval));
break;
case StreamTokenizer.TT_WORD:
tokBuf.add(tokenizer.sval);
break;
default:
tokBuf.add(String.valueOf((char) tokenizer.ttype));
}
}
return tokBuf;
}

public static void parseFormula(String text){

}

关于java - StreamTokenizer 预期结束字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21962568/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com