簡體   English   中英

無法找到或加載主 class 和 Main.java:5:錯誤:找不到符號與代碼

[英]Could not find or load main class and Main.java:5: error: cannot find symbol vs code

我已經查看了與我的錯誤代碼完全相同的問題,但我仍然無法通過查看它們下的解決方案來解決問題。 目前我正在嘗試通過教程學習 java,並通過考試相同的步驟,視頻中的代碼有效,但我的沒有。

汽車檔案 ->

package com.ChiragAgg5k;

public class Car {
    private int bmw;

    public void setbmw(int bmw) {
        this.bmw = bmw;
    }

    public int getbmw() {
        return this.bmw;
    }

    public void main(String[] args) {
        System.out.println(bmw);
    }

}

主文件->


public class Main {
    public static void main(String[] args) {
        Car carr = new Car();
        carr.setbmw(20);
        System.out.println(carr.getbmw());
    }
}

錯誤代碼->

Error: Could not find or load main class Car
Caused by: java.lang.NoClassDefFoundError: com/ChiragAgg5k/Car (wrong name: Car)
Main.java:5: error: cannot find symbol
        Car carr = new Car();
        ^
  symbol:   class Car
  location: class Main
Main.java:5: error: cannot find symbol
        Car carr = new Car();
                       ^
  symbol:   class Car
  location: class Main

我嘗試在 package 中編寫一個簡單的 hello world 程序,它也給出了錯誤enter image description here

Error Main.java:5: error: cannot find symbol indicates missing import from other package or missing class in the same package

您必須在主 class 中添加 Car 的導入語句。 因為您的主要 class 位於另一個 Package 中。

import com.ChiragAgg5k.Car;

public class Main {
    public static void main(String[] args) {
        Car carr = new Car();
        carr.setbmw(20);
        System.out.println(carr.getbmw());
    }
}

作為替代方案,您可以將 Main 移動到與 Car class 相同的 Package 中。

package com.ChiragAgg5k;

public class Main {
    public static void main(String[] args) {
        Car carr = new Car();
        carr.setbmw(20);
        System.out.println(carr.getbmw());
    }
}

所以解決方案是使用 Java 代碼測試器,而不是直接在終端中運行代碼,因為這樣做不會改變代碼實際運行的路徑

Java 代碼測試器(一個 vs 代碼擴展)自動處理它

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM