【问题标题】:Trying to make a simple falling ball program尝试做一个简单的落球程序
【发布时间】:2015-02-10 22:46:27
【问题描述】:

这是我目前所拥有的。它告诉我,我在下面标记的行上有一个语法错误,说它分别需要一个“{”和一个“}”,而它们周围没有双引号。有什么建议吗?

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 周,哈哈)。你具体指的是哪里?
  • 您需要将 while 循环放在一个方法中 - 可能看起来像 public static void main(String[] args) { /* while loop here */ }
  • 啊,是的,我刚试过这个。它似乎解决了我的问题。谢谢!

标签: java physics particles


【解决方案1】:

您正试图在类体内运行语句。他们应该在一个方法中。像这样:

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

现在你有类似这样的东西:

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

语句应始终位于方法(有时称为函数)中。 但是,您可以将变量放在方法之外。这将使该类中的所有方法都可以访问它们。

您应该查看一些入门教程,例如 Oracle 提供的教程: http://docs.oracle.com/javase/tutorial/java/nutsandbolts/

【讨论】:

  • “它们应该在一个函数中” 方法
  • 是的,我刚试过这个。这解决了我的问题,谢谢!
  • @MadProgrammer 方法和函数经常一起使用。你会发现这两个名字都是相同的东西。如果好不好,每个人都会明白 :) 正如你所看到的,我也使用了方法,所以回答者知道这两个名字都存在。很高兴听到这个消息! :)
  • 方法和函数经常一起使用” - 但它们不应该;“你会发现这两个名字都是相同的东西” -嗯,从技术上讲,我认为它们不是,一个方法作用于一个对象,一个函数执行,嗯,功能,一个 OO,一个过程。你没有过程语言中的方法。术语的混合是开发人员的懒惰。进入像 C++ 或 Objective-C 这样的语言,你会迷惑人们。我们是在谈论函数还是对象方法??它们有不同的含义 ;)
  • @MadProgrammer 好吧,你有一个很好的观点。我会改变它! :) 编辑:我改变了它,但我仍然提到它们有时被称为函数。特别是在“java-land”中,它被称为函数很多......
猜你喜欢
  • 2014-11-18
  • 2016-08-18
  • 2014-03-23
  • 2014-06-19
  • 1970-01-01
  • 2011-05-28
  • 1970-01-01
  • 1970-01-01
  • 2013-08-30
相关资源
最近更新 更多