2011-03-25 118 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);