令牌";"上的语法错误 ......为什么?

0 java syntax

为什么这一行有语法错误(如下所示)?谢谢

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());
}
Run Code Online (Sandbox Code Playgroud)

Rei*_*eus 9

编译器试图将StringTokenizer声明与while循环相关联,因此期望开括号{(对于匿名实现块)而不是分号;.

您需要使用方法而不是在类块中使用代码:

int n = 0;
String esempio = "Ciao dodo sos";
StringTokenizer Tok = new StringTokenizer(esempio); 

void doSomething() {

   while (Tok.hasMoreElements()) {
      System.out.println("" + ++n +": "+Tok.nextElement());
   }
}
Run Code Online (Sandbox Code Playgroud)

一个while语句是一个非陈述语句,因此它必须出现在方法,静态初始化或构造.


Jig*_*shi 6

您需要在方法或一些适用的代码块中编写语句