刚开始这里。我以前有过编程类,但是对于Java来说并不陌生,并且没有丰富的经验。该节目来自Mehran Sahami在斯坦福大学Youtube上的讲座。代码从32分钟左右开始可见。这是一个简单的图形程序,显示一个弹跳球。一个适合我开始尝试设置的好地方,用一个对象替换另一个对象,并且通常习惯于语法与屏幕上显示内容的相关性。但是,我甚至无法进入隐喻的起跑线!我尝试切割并粘贴到Sololearn模拟器中,但得到相同的错误。我认为它必须与acm库有关,但是。 。 。什么?Java acm入门
代码在下面,错误消息在下面。
import acm.program.*;
import acm.graphics.*;
public class BouncingBall extends GraphicsProgram {
private static final int DIAM_BALL = 30;
private static final double GRAVITY = 3;
private static final int DELAY = 50;
private static final double X_START = DIAM_BALL/2;
private static final double Y_START = 100;
//x velocity
private static final double X_VEL = 5;
//Y velocity determined by gravity and bounce
private static final double BOUNCE_REDUCE = 0.9;
//Starting coords
private double xVel = X_VEL;
private double yVel = 0.0;
//private instance variable
private GOval ball;
}
public void run(){
setup(){
while (ball.getX() < getWidth()) {
moveBall();
checkForCollision();
pause(DELAY);
}
}
//create and place ball
private void setup(){
ball=new GOval(X_START,Y_START,DIAM_BALL,DIAM_BALL);
ball.setFilled(true);
add(ball);
}
//update and move ball
private void moveBall(){
yVel+=GRAVITY;
ball.move(xVel,yVel);
}
//Collision detection
private void checkForCollision(){
if(ball.getY()>getHeight()-DIAM_BALL){
yVel=-yVel*BOUNCE_REDUCE;
double diff=ball.getY()-(getHeight()-DIAM_BALL);
ball.move(0,-2*diff);
}
}
}
}
“错误:爪哇:预期类,接口,或枚举” 大约有这些十几,指定(22,12),(26,17),(27,17),(28 ,13),(33,13),(34,13)。 。 。
我有一种感觉,当我明白为什么有些问题时,我将能够解决所有问题。
在此先感谢!
[Java ACM package]的可能重复(https://stackoverflow.com/questions/3796879/java-acm-package) –
我从上面的链接中得到了acm,我试着将acm.jar移动到不同的地方我的直播tories,但没有一个似乎有任何效果。无论我放在哪里,都会出现同样的错误。此外,文件的类型读取“可执行Jar文件”,这与某些评论者描述的方式不同。 –
运行中的行应该有setup(){?或setup(); –