为什么这一行会出现语法错误(如下所示)?感谢
import java.util.StringTokenizer;
public class Tokenizer
{
public Tokenizer()
{
}
int n;
String esempio = "Ciao dodo sos";
StringTokenizer Tok = new StringTokenizer(esempio); // <---- Syntax error on token ";"
while (Tok.hasMoreElements())
System.out.println("" + ++n +": "+Tok.nextElement());
}
答案 0 :(得分:9)
编译器正在尝试将StringTokenizer
声明与while
循环相关联,因此期望开括号{
(对于匿名实现块)而不是分号{{1 }}。
您需要使用方法而不是在类块中使用代码:
;
int n = 0;
String esempio = "Ciao dodo sos";
StringTokenizer Tok = new StringTokenizer(esempio);
void doSomething() {
while (Tok.hasMoreElements()) {
System.out.println("" + ++n +": "+Tok.nextElement());
}
}
语句是非声明性语句,因此它必须出现在方法,静态初始化器或构造函数中。
答案 1 :(得分:6)
您需要在方法或一些适用的代码块中编写语句
答案 2 :(得分:3)
Reimeus说了什么,还有一些关于你为什么在这条线上得到错误的解释。有了这两行:
int n;
String esempio = "Ciao dodo sos";
你可能刚刚声明了类成员数据。当你真的试图对数据做某事时,它变成了错误并且需要属于一个方法。 HTH