Javaは、中括弧を入れなければならないときと、それを正しく置いていないときを決定しますか? ロボットゲームに関するプロジェクトをコンパイルしていますが、中括弧の順序を変更すると、正しい方法で記述されていてもエラーになります。私は、コードの二つの異なる種類のだけ正しいものとコードを挿入:この正しい方法で中カッコを入れると、Javaがエラーになるのはなぜですか?
1)
public class Robot {
//In Java, Class Variables should be private so that only its methods can change them.
private int centerX=100;
private int centerY=382;
private boolean jumped=false;
private int speedX=0;
private int speedY=1;
public void update(){
//Moves Character or Scrolls Background accordingly.
if(speedX<0)
centerX+=speedX;
else if(speedX==0)
System.out.println("Do not scroll the background.");
}
// Updates Y Position
if(centerY + speedY >=382)
centerY=382;
else
centerY+=speedY;
//Handles Jumping
if (jumped==true)
speedY+=1;
if(centerY+speedY>=382){
centerY=382;
speedY=0;
jumped=false;
}
}
2)
public class Robot {
//In Java, Class Variables should be private so that only its methods can change them.
private int centerX=100;
private int centerY=382;
private boolean jumped=false;
private int speedX=0;
private int speedY=1;
public void update(){
//Moves Character or Scrolls Background accordingly.
if(speedX<0)
centerX+=speedX;
else if(speedX==0)
System.out.println("Do not scroll the background.");
// Updates Y Position
if(centerY + speedY >=382)
centerY=382;
else
centerY+=speedY;
//Handles Jumping
if (jumped==true)
speedY+=1;
if(centerY+speedY>=382){
centerY=382;
speedY=0;
jumped=false;
}
}
}
だから(方法アップデートのすべてのそのコードを置きます)エラーはありませんが、// Updates Y Positionからすべての派生を除外すると、コンパイラはエラーを発見しました。しかし、技術的に正しいエラーはないはずですか?
EDIT 最初のコードは、エラーを与える: Syntax error, insert "}" to complete ClassBody
どのようなエラーが表示されますか? – Pshemo
はい、クラス内に非宣言文を置くと、エラーが発生します。メソッドの中にないときに 'if(centerY + speedY> = 382)...'を実行するのはいつですか? – Dukeling
エラーを表示するスクリーンショットを追加しました – Pierfrank