2015-09-18 101 views
-3

我是OOP概念的新手,我遇到一個錯誤:無法找到符號。在編譯期間,我得到了2個錯誤:找不到符號... - Java

Error:(9, 35) java: <identifier> expected 
Error:(9, 36) java: illegal start of type 

任何幫助將不勝感激。 這裏是我的兩個類:

package com.company; 

public class Main { 

    public static void main(String[] args) { 

    } 

    TestClass waterBottle = new waterBottle(); 
    waterBottle.bottleFill(5); 
} 

package com.company; 

public class TestClass { 

    TestClass() { } 

    public void waterBottleFill(int y) { 
     int bottleFill = y; 
     System.out.println("Fill level is at:" + bottleFill); 
    } 

    public void waterBottleRefill(int x) { 
     int refill = x; 
    } 
} 
+0

什麼是你的文件名? Java是否安裝在您的系統中。我相信你在CLI中遇到錯誤。 – Manwal

+0

這兩個類都在不同的java文件? –

回答

1

您的代碼

TestClass waterBottle = new TestClass(); 
waterBottle.bottleFill(5); 

實際上位於一個類定義。

移動這個代碼到你main方法:

public class Main { 

    public static void main(String[] args) { 
     TestClass waterBottle = new waterBottle(); 
     waterBottle.bottleFill(5); 
    } 
} 

這個問題,當你正確地格式化你的代碼變得明顯和滑動 - 與identation,水平和垂直間距。我編輯了您的問題,以便現在格式正確。看看並注意它現在是多麼可讀。

另一個問題是您的類對象的創建。您在new waterBottle()行提供了錯誤的名稱。 new應遵循正確的類名:

TestClass waterBottle = new TestClass(); 
0
package com.company; 

public class Main { 

public static void main(String[] args) { 


    //TestClass waterBottle = new waterBottle(); // what is waterbottle.. this will give you can not find symbol` 
    TestClass waterBottle = new TestClass();//should be this 


     waterBottle.bottleFill(5); 
}// main method ends 

}// class ends 




package com.company; 

public class TestClass { 

TestClass(){} 

public void waterBottleFill(int y){ 
    int bottleFill = y; 
    System.out.println("Fill level is at:"+ bottleFill); 

} 
public void waterBottleRefill(int x){ 
    int refill = x; 
} 


}