我嘗試在編譯 .java 文件后運行 java 命令,.java 文件包含多個類,但只有一個公共類,公共類中只有一個主要方法。當所有 .class 文件都在同一個地方時,它找不到主類。在 netbeans 上它運行完美,在 CMD 上是出現錯誤的地方。如果我在寫作中有任何錯誤,也很抱歉,英語不是我的主要語言,它是西班牙語。這也是類和變量名稱使用西班牙語的原因。我已經檢查過該類只有一個主要方法,所有類都在同一個地方,.java 文件中只有一個公共類這就是代碼,正如您所見,只有一個公共課程,而 main 在公共課程中。 package dfutreras_arqapp_aa19_2b; public class Dfutreras_ArqApp_AA19_2B { public static void main(String[] args) { // TODO code application logic here Constructora constructora = new Constructora(); ConstruyeCasas constructor_SencillaCasa = new ConstruyeCasasSencillas(); ConstruyeCasas constructor_FamiliarCasa = new ConstruyeCasasFamiliares(); constructora.setConstruyeCasas(constructor_SencillaCasa); constructora.construirCasa(); Casa casa = constructora.getCasa(); System.out.println("Se ha construido una casa " + casa.getTipo()); System.out.println("Con " + casa.getHabitaciones()+ " habitaciones"); System.out.println("Con " + casa.getBanos()+ " ba?os"); System.out.println("Con " + casa.getVentanas()+ " ventanas"); System.out.println(); constructora.setConstruyeCasas(constructor_FamiliarCasa); constructora.construirCasa(); Casa casa2 = constructora.getCasa(); System.out.println("Se ha construido una casa " + casa2.getTipo()); System.out.println("Con " + casa2.getHabitaciones()+ " habitaciones"); System.out.println("Con " + casa2.getBanos()+ " ba?os"); System.out.println("Con " + casa2.getVentanas()+ " ventanas"); } }//產品類`class Casa{` private Integer habitaciones; private Integer banos; private Integer ventanas; private String tipo; public void setHabitaciones(Integer habitaciones){ this.habitaciones = habitaciones; } public void setBanos(Integer banos){ this.banos = banos; }
2 回答

翻翻過去那場雪
TA貢獻2065條經驗 獲得超14個贊
您的班級聲明為:
package dfutreras_arqapp_aa19_2b; public class Dfutreras_ArqApp_AA19_2B {
這意味著它在包中dfutreras_arqapp_aa19_2b
,因此: - 運行時必須提供整個包名稱,并且 - 當前目錄必須位于根(頂級)目錄中。
將這些放在一起意味著要運行該類,請轉到 src 目錄:
C:\Users\hecto_000\Documents\NetBeansProjects\Dfutreras_ArqApp_AA19_2B\src
并運行命令:
java dfutreras_arqapp_aa19_2b.Dfutreras_ArqApp_AA19_2B
要從當前目錄運行該類,請package dfutreras_arqapp_aa19_2b
從 .java 文件中刪除該行,這意味著該類位于“默認”包中。
巧合的是,還值得一提的是,Java 命名標準是類名應該是“CamelCase”(所以沒有下劃線)
添加回答
舉報
0/150
提交
取消