2011-03-25 84 views
0

我有这个类:Java的构造函数

当我试图定义一个新的Instense:

Point nir= new Point(double x, double y); 

我,得到的错误:

多个标记在这条线 - x不能被解析为一个 可变 - Y不能被解析为一个 可变

怎么回事?我希望x和y是一般的,而不是特别的。 我正在写一个新的接口。 This is the class

编辑:

我试图改变X0的实施,Y0作为一个点由点类 在一个名为“圆”给定的跨脸。

所以这是循环的开头,有我想做的事情上面:

public class Circle { 

private double x0, y0, radius; 

所以,besicaly到Y0改变X0的代表性,点结构。

+2

可以显示代码,而不是javadoc的? – Neal 2011-03-25 19:33:21

+2

你可以发布给出错误的实际代码吗? – 2011-03-25 19:34:30

+1

请向我们展示更多相关代码 – 2011-03-25 19:34:42

回答

6

你得到的错误是,这个代码

new Point(double x, double y); 

是不合法的Java。当您创建一个对象或调用一个函数时,您不指定参数的类型。相反,您只需提供该类型的值。因此,举例来说,你可以通过因为在这两种情况下,编译器已经知道的类型你提供构造函数的参数表达的写作

Point origin = new Point(0.0, 0.0); 

或者

double x = 137.0; 
double y = 2.71828; 
Point myPoint = new Point(x, y); 

创建点。你不需要(实际上不应该)说他们是双打的。

希望这会有所帮助!

0

试试这个:

Point nir= new Point(x, y); 

如果不工作,表现出更多的代码。

0

您需要创建实例,像这样:

Point nir = new Point(x, y); 

或者像这样:

Point nir = new Point(15.0, 12.0); 

其中x和y是双打。由于在调用构造函数时无法为参数指定类型,因此您会收到错误,因此Point nir = new Point(double x, double y);会导致错误。

0

x和y必须已经取得:

这样做:

Point nir = new Point(x, y); 
0

您正在尝试在需要参数时设置参数。尝试:

Point nir= new Point(x, y); 

或者:

Point nir= new Point((double) x, (double) y);