2015-02-10 31 views
0

这是我迄今为止。它告诉我,我在下面标出的行上有一个语法错误,表示它预期分别是“{”和“}”,而没有双引号。有什么建议么?试图做一个简单的落球程序

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 
+2

你不能把任何陈述的方法(或构造函数或初始化程序)之外。 – immibis 2015-02-10 22:46:55

+0

对不起,我在编码方面很新颖(大约2周,哈哈)。你到底在哪里? – helpmepls 2015-02-10 22:50:42

+1

你需要把while循环放在一个方法中 - 可能看起来像'public static void main(String [] args){/ * while loop here * /}' – 2015-02-10 22:56:10

回答

1

您正在尝试在类体内运行语句。他们应该是一种方法。像这样:

public class Attempt1{ 
    private void doSomething(){ 
     //example code 
     int a = 1 + 1; 
     while (a < 2) { 
      //do random stuff 
     } 
    } 
} 

现在你有一些与此类似:

public class Attempt1 { 
    //while{...} <---- WRONG! 
} 

发言应在任何时候的方法(有时称为功能)。 但是,您可以将变量放在方法之外。这将使他们可以访问该类中的所有方法。

你应该检查出一些教程开始像一个甲骨文给出: http://docs.oracle.com/javase/tutorial/java/nutsandbolts/

+0

*“他们应该在一个功能”* 方法 MadProgrammer 2015-02-10 23:07:59

+0

是的,我只是试过这个。这解决了我的问题,谢谢! – helpmepls 2015-02-10 23:09:05

+0

@MadProgrammer方法和函数经常一起使用。你会发现两个名称是相同的东西。如果它是好的,每个人都会明白:)如你所见,我也使用了方法,所以回答者知道这两个名字都存在。并帮助我们听到这些! :) – 2015-02-10 23:13:37

相关问题