首頁  >  文章  >  Java  >  在Java中,什麼原因會導致'Cannot find symbol'錯誤?

在Java中,什麼原因會導致'Cannot find symbol'錯誤?

王林
王林轉載
2023-08-19 12:37:264738瀏覽

在Java中,什么原因会导致"Cannot find symbol"错误?

每當您需要在目前程式中使用外部類別/介面(無論是使用者定義的還是內建的),您需要使用import關鍵字將這些類別匯入到目前程式中。

但是,在匯入任何類別時:

  • 如果您匯入的類別/介面的路徑對JVM不可用。

  • 如果您在導入語句中提到的絕對類別名稱不準確(包括套件和類別名稱)。

  • 如果您已經匯入了使用的類別/介面。

您將收到一個異常,顯示"無法找到符號..."

範例

在以下範例中,我們嘗試從鍵盤(System.in)讀取表示使用者名稱的字串值。為此,我們使用了Java.Util套件的scanner類別。

public class ReadingdData {
   public static void main(String args[]) {
      System.out.println("Enter your name: ");
      Scanner sc = new Scanner(System.in);
      String name = sc.next();
      System.out.println("Hello "+name);
   }
}

編譯時錯誤

由於我們在程式中使用了一個名為Scanner的類,但沒有在程式中導入它。在執行時,程式會產生以下編譯時錯誤:

ReadingdData.java:6: error: cannot find symbol
      Scanner sc = new Scanner(System.in);
      ^
   symbol: class Scanner
   location: class ReadingdData
ReadingdData.java:6: error: cannot find symbol
      Scanner sc = new Scanner(System.in);
      ^
   symbol: class Scanner
   location: class ReadingdData
2 errors

解決方案

  • #您需要為包含所需類別介面的JAR檔案設定類別路徑。

  • 使用import關鍵字從套件中匯入所需的類別。在匯入時,您需要指定所需類別的絕對名稱(包括套件和子套件)。

範例

 線上示範

import java.util.Scanner;
public class ReadingdData {
   public static void main(String args[]) {
      System.out.println("Enter your name: ");
      Scanner sc = new Scanner(System.in);
      String name = sc.next();
      System.out.println("Hello "+name);
   }
}

輸出

Enter your name:
krishna
Hello krishna

以上是在Java中,什麼原因會導致'Cannot find symbol'錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除