2014-11-06 30 views
-3

所以我寫了一個簡單的類來定義什麼是複數,以及添加,減去,乘除法的方法,但是當我嘗試在一個不同的類中使用main方法創建類型爲ComplexNumber的類對象時,我得到編譯器錯誤,說它'找不到符號'。幾乎類似於主要方法類無法看到ComplexNumber類。我甚至把它們放在同一個包中以確保這一點,是的,我在編譯主要方法類之前編譯了ComplexNumber類。爲什麼我不能在Java中創建這個類對象?給我找不到符號

這是子,多重峯格爲理智的緣故去除方法的類:

***編輯:好吧,爲了清楚傾銷兩者整個班

package CN001; 

public class ComplexNumber { 

private float a; 
private float b; 

public ComplexNumber(float _a, float _b) { 
    this.a = _a; 
    this.b = _b; 
} 

public float getA(){ 
    return this.a; 
} 

public float getB(){ 
    return this.b; 
} 

public ComplexNumber complexNumberAdd(ComplexNumber otherNumber){ 
    ComplexNumber newComplex; 
    float newA = a + otherNumber.getA(); 
    float newB = b + otherNumber.getB(); 
    newComplex = new ComplexNumber(newA, newB); 
    return newComplex; 
} 
} 

這是主要的類:

package CN001; 

public class ComplexNumberRunner { 

public static void main (String[] args){ 
float _a; 
float _b; 

ComplexNumber addComplex = new ComplexNumber(_a,_b); 
} 
} 
+0

當IM編譯evrything是確定的,所以它也許對你錯的classpath ... – aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 2014-11-06 00:29:28

+0

難道編譯錯誤或運行時?在運行時你是否在命令行中包含類路徑?你是否將類包含在類路徑中? – CharlieS 2014-11-06 00:31:28

+0

@cbpickl你使用命令行? 當你編譯你的代碼時你寫的是什麼? – aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 2014-11-06 00:40:53

回答

0

我認爲你需要定義_a和_B FLOAT和初始化,比後寫,

ComplexNumber addComplex = new ComplexNumber(_a,_b); 
+1

是的,我嘗試過,沒有運氣。宣佈_a和_b爲浮動,問題似乎更加流行。編譯器錯誤一直掛在'找不到符號'ComplexNumber – cbpickl 2014-11-06 00:07:29

+0

@cbpickl你使用命令行?!!!當你想編譯你的代碼時,你寫的是什麼?! – aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 2014-11-06 00:41:27

+0

@cbpickl現在請檢查我的新答案,如果它的工作標記爲'accepted' – aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 2014-11-06 00:55:32

1

您需要將_a和_b局部變量名稱替換爲您要用其初始化的實際值。喜歡的東西:

ComplexNumber addComplex = new ComplexNumber(3, 5); 
+0

沒有更多的證據,我會接受+ 1 – MadProgrammer 2014-11-06 00:09:29

+0

這個問題似乎比這更具特點,無論我在創建對象時在參數字段中更改了什麼,編譯器ke提供'找不到符號'錯誤引用ComplexNumber。就像它無法看到課堂一樣。 – cbpickl 2014-11-06 00:10:29

+2

@cbpickl編譯器必須在其類路徑中包含此類的基目錄。你如何編譯它?通過IDE或從命令行?這兩個類都在默認包中? – 2014-11-06 00:15:11

相關問題