3

このエラーは、if/else if を処理するときに特定のコンピューターで頻繁に発生するようです。 Eclipse は、「トークン "else" の構文エラー、{ 予想されます。」というエラー メッセージを表示することがあります。

スニペットは次のとおりです。

public void keyTyped(KeyEvent e) {
    int keyCode = e.getKeyCode();
    char keyLetter = e.getKeyChar();
    if(Character.*isLetterOrDigit*(keyLetter));

}
else if(keyCode == KeyEvent.VK_ENTER){
    dis.setWaitingforInputfalse();
}
}
}

そのばかげた場所で私が望んでいるように、実際に中括弧を入れた場合、
例:

else{ if(keyCode etc.etc.etc){
}

次に、エラーがスローされます。

この行に複数のマーカー
- keyCode を変数に解決できません
- トークン "else" の構文エラーです。このトークンを削除してください

「private int keyCode;」を投げます。それを一番上に修正しますか、それとも変数などではなく関数にするために、後で問題が発生するだけですか?

そして、私はそれをそのままにしておくべきですか

{ if(keyCode etc.){
}

または、else if ステートメントを機能させる方法はありますか? else を追加しようとすると、エラーが返されるだけだからです。

4

5 に答える 5

1

帽子は、else の前に keyTyped メソッドを閉じているため、「else」の前に右中括弧を削除し、「if」部分のステートメントも追加する必要があるためです -

public void keyTyped(KeyEvent e) {
 int keyCode = e.getKeyCode();
 char keyLetter = e.getKeyChar();
 if(Character.*isLetterOrDigit*(keyLetter)){
 //do something here
 }
 else if(keyCode == KeyEvent.VK_ENTER){
   dis.setWaitingforInputfalse();
 }
}
于 2013-09-26T22:33:28.477 に答える
1

冒頭の { がないようです。あなたがちょうど持っている場合の後; これは問題ありませんが、右中括弧は必要ありません。

于 2013-09-26T22:33:47.127 に答える
1

開き括弧が 4 つある場合 {、閉じ括弧も 4 つある必要があります }

したがって、コードを入力するときは、すぐに {} を左中括弧と右中括弧の両方に入れてから、このブロック内に戻って入力を続けてください。この方法では、ブレースを失うことはありません。

于 2013-09-26T22:34:50.180 に答える