2016-08-14 48 views
0

我剛開始學習Java,並已運行到同樣的問題了三天。學習我一直在閱讀Oracle提供的Java教程。我正在嘗試在其中一個課程結束時執行練習,如下所示:主類不能被發現和更

1)爲您在此軌跡開始處觀察到的每個真實世界對象創建新類。 2)對於你上面創建,創建定義其行爲的接口的每個新的類,然後要求你的類來實現它。

我一直在使用Netbeans IDE 8.1在Windows 10上編寫我的代碼。但每當我嘗試運行我的代碼時,都會收到一條錯誤信息,說我的主類沒有找到。

下面是我用我的類代碼:

package practice; 


public class Car implements Acura { 

int speed = 2; 
int gear = 1; 
int gas = 100; 
    } 


public void SpeedUp (int increment){ 
    speed = speed + 48; 
    } 

public void ChangeGear (int NewValue){ 
    gear = 4; 
    } 

public void UseGas (int decrement){ 
    gas = gas - 5; 
    } 

public void printStates(){ 
    System.out.println(
    "Car Speed:" + speed + "Gear:" + gear + "Gas:" + gas 
    ) 
    } 

public static void main(String[] args) { 
} 

這裏是我用我的界面代碼:

package practice; 

public interface Acura { 

    void SpeedUp (int increment); 

    void ChangGear (int NewValue); 

    void UseGas (int decrement); 

} 

所以我的第一個問題是:爲什麼我不斷收到錯誤消息,說主要的類無法找到?

和公正的記錄,我試圖在最後三天多種解決方案(嚴重的是,很多...)和他們都沒有工作。但我不會列出這些解決方案,希望得到新的答案,或者我沒有嘗試它們或正確讀取它們。

我的第二個問題是:是我的代碼導致此錯誤的再次發生?如果有人能校對並更正我的代碼,那將不勝感激!

我剛開始學習Java和我很想上,因爲它已經整整3天移動到不同的主題!但在我進步之前,我不能讓這個問題解決。所以如果有人能夠幫助我,我真的很感激它!

+0

有在該代碼括號內的一些非常奇怪的位置。 –

+2

'main'方法必須*在類中。如果你修正了你的縮進,它就會變得很明顯,它是當前的課外(又名*)。 – Andreas

+2

不相關的問題,但...你有一些古怪,如創建與特定的汽車的接口,然後由它執行的通用汽車(你對這個概念很落後);將參數傳遞給所有的方法,然後忽略它們並使用硬編碼的值(例如加速度和氣體使用)等。 –

回答

0

這些應該工作,提出了一些修改:

public class Car implements Acura { 

    int speed = 2; 
    int gear = 1; 
    int gas = 100; 

    public void speedUp (int increment) { 
     speed = speed + 48; 
    } 

    public void changeGear (int newValue) { 
     gear = 4; 
    } 

    public void useGas (int decrement) { 
     gas = gas - 5; 
    } 

    public void printStates() { 
     System.out.println("Car Speed: " + speed + "Gear: " + gear + "Gas: " + gas); 
    } 

    public static void main (String[] args) { 

    } 

} 

public interface Acura { 

    void speedUp (int increment); 

    void changeGear (int newValue); 

    void useGas (int decrement); 

} 
+1

可能解決問題,但仍然可怕的代碼。 – m0skit0

+0

@ m0skit0的確如此。來自'Acura'的方法的所有方法參數都未使用,並且'printStates'方法將生成未分離的文本。 – Clashsoft

+0

謝謝。我意識到我的代碼很糟糕,但它是這個過程的一部分。我如何打印printStates來打印汽車速度,裝備等? – Kedster

相關問題