2015-02-10 39 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

相關問題