尝试做一个简单的落球程序
Trying to make a simple falling ball program
这就是我目前所拥有的。它告诉我,我在下面标记的行中有一个语法错误,它说它分别需要一个“{”和一个“}”,但它们周围没有双引号。有什么建议吗?
public class attempt1 {
//use Euler-Richardson algorithm
//defining the initial conditions
double v0=30;
double theta=40;
double x0=0;
double y0=0;
double v0x=v0*Math.cos(Math.toRadians(theta));
double v0y=v0*Math.sin(Math.toRadians(theta));
double dt= .01;
double ax=0;
double ay=-9.8;
double x=0;
double y=0; //this line here, on the semi-colon
while (y>=0) {
double vx= v0x+1/2*ax*dt;
double vy= v0y+1/2*ay*dt;
double x= x0+1/2*vx*dt;
double y= y0+1/2*vy*dt;
if (y<=0){System.out.println(x);}
}
} //and right over here, on the brace itself
您正试图在 class 正文中 运行 语句。他们应该在一个方法中。像这样:
public class Attempt1{
private void doSomething(){
//example code
int a = 1 + 1;
while (a < 2) {
//do random stuff
}
}
}
现在你有类似的东西:
public class Attempt1 {
//while{...} <---- WRONG!
}
语句应始终位于方法(有时称为函数)中。
但是,您可以将变量放在方法之外。这将使 class 中的所有方法都可以访问它们。
您应该查看一些入门教程,例如 Oracle 提供的教程:
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/
这就是我目前所拥有的。它告诉我,我在下面标记的行中有一个语法错误,它说它分别需要一个“{”和一个“}”,但它们周围没有双引号。有什么建议吗?
public class attempt1 {
//use Euler-Richardson algorithm
//defining the initial conditions
double v0=30;
double theta=40;
double x0=0;
double y0=0;
double v0x=v0*Math.cos(Math.toRadians(theta));
double v0y=v0*Math.sin(Math.toRadians(theta));
double dt= .01;
double ax=0;
double ay=-9.8;
double x=0;
double y=0; //this line here, on the semi-colon
while (y>=0) {
double vx= v0x+1/2*ax*dt;
double vy= v0y+1/2*ay*dt;
double x= x0+1/2*vx*dt;
double y= y0+1/2*vy*dt;
if (y<=0){System.out.println(x);}
}
} //and right over here, on the brace itself
您正试图在 class 正文中 运行 语句。他们应该在一个方法中。像这样:
public class Attempt1{
private void doSomething(){
//example code
int a = 1 + 1;
while (a < 2) {
//do random stuff
}
}
}
现在你有类似的东西:
public class Attempt1 {
//while{...} <---- WRONG!
}
语句应始终位于方法(有时称为函数)中。 但是,您可以将变量放在方法之外。这将使 class 中的所有方法都可以访问它们。
您应该查看一些入门教程,例如 Oracle 提供的教程: http://docs.oracle.com/javase/tutorial/java/nutsandbolts/