我正在学习Java(The Gaming Side)。我买了一本书,它有一些我试图复制和测试的代码。唯一的问题是当我尝试编译它时出现错误。编译错误:表达式的非法开始
C:\Users\James\Desktop\Java>Javac GamePanel.java
GamePanel.java:57: illegal start of expression
private void gameUpdate()
^
GamePanel.java:57: illegal start of expression
private void gameUpdate()
^
GamePanel.java:57: ';' expected
private void gameUpdate()
^
GamePanel.java:64: reached end of file while parsing
}→
^
4 errors
的代码是:
public class GamePanel extends JPanel implements Runnable
{
private static final int PWIDTH = 500;
private static final int PHEIGHT = 400;
private Thread animator;
private volatile boolean running = false;
private volatile boolean gameOver = false;
public GamePanel()
{
setBackground(Color.white);
setPreferredSize(newDimension(PWIDTH, PHEIGHT));
}
public void addNotify()
{
super.addNotify();
startGame();
}
public void startGame()
{
if (animator == null || !running)
{
animator = new Thread(this);
animator.start();
}
}
public void stopGame()
{
running = false;
}
public void run()
{
running = true;
while(running)
{
gameUpdate();
gameRender();
repaint();
try
{
Thread.sleep(20);
}
catch(InterruptedException ex)
{
}
System.exit(0);
}
private void gameUpdate()
{
if (gameOver == false) {
}
}
}
我知道我可能做错事,但我在检查了一遍又一遍,可有人请赐教什么我做错了吗?
您是否正在使用IDE,如果您缺少右括号或括号会导致错误?你应该。看起来你错过了while循环中的大括号 – BRampersad
我不确定你的母语,但是在英语中你不需要用大写字母来开始每一个单词。 – BalusC
OMG有这么多相同的答案 - 这个世界到哪里去了。 – mateor