虽然声明没有身体?

时间:2015-06-01 23:57:49

标签: java loops syntax while-loop

我在一个程序中有很多语句,如下所示:

while( x + ++flips < 8 && board[x + flips][y] == opponent );

(标准“Oracle”)编译器返回错误:“while语句没有正文。”这是语言规范所要求的,还是编译器特定的?有什么样的黑客我可以使用它来实现这个或者我不能重写它吗?

2 个答案:

答案 0 :(得分:6)

您发布的代码compiles fine when I try itJLS section 14.12允许将空语句作为while循环的正文:

WhileStatement:
  while ( Expression ) Statement

Statement:
  StatementWithoutTrailingSubstatement 
  ...

StatementWithoutTrailingSubstatement:
  Block 
  EmptyStatement
  ...

EmptyStatement:
  ;

最有可能的是,您的实际代码有拼写错误。

答案 1 :(得分:1)

添加一个空体。像这样while( x + ++flips < 8 && board[x + flips][y] == opponent ){}