Computer >> Máy Tính >  >> Lập trình >> Java

Điều gì có thể gây ra lỗi Không thể tìm thấy biểu tượng trong java?

Bất cứ khi nào bạn cần sử dụng các lớp / giao diện bên ngoài (do người dùng xác định hoặc cài sẵn) trong chương trình hiện tại, bạn cần nhập các lớp đó vào chương trình hiện tại của mình bằng cách sử dụng từ khóa import.

Tuy nhiên, trong khi nhập bất kỳ lớp nào -

  • Nếu đường dẫn của lớp / giao diện bạn đang nhập không có sẵn cho JVM.

  • Nếu tên lớp tuyệt đối mà bạn đã đề cập trong câu lệnh nhập không chính xác (bao gồm các gói và tên lớp).

  • Nếu bạn đã nhập lớp / giao diện được sử dụng.

Bạn sẽ nhận được một ngoại lệ nói rằng “Không thể tìm thấy biểu tượng ……”

Ví dụ

Trong ví dụ sau, chúng tôi đang cố gắng đọc một giá trị chuỗi đại diện cho tên của người dùng từ key-board (System.in). Đối với điều này, chúng tôi đang sử dụng lớp máy quét của Java.Util Gói hàng.

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);
   }
}

Lỗi thời gian biên dịch

Vì chúng tôi đang sử dụng một lớp có tên Máy quét trong chương trình của mình và chưa nhập lớp đó vào chương trình của chúng tôi. Khi thực thi, chương trình này tạo ra lỗi thời gian biên dịch sau -

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

Giải pháp

  • Bạn cần đặt đường dẫn lớp cho tệp JAR giữ giao diện lớp bắt buộc.

  • Nhập lớp bắt buộc từ gói bằng cách sử dụng nhập từ khóa. Trong khi nhập, bạn cần chỉ định tên tuyệt đối (bao gồm các gói và gói con) của lớp được yêu cầu.

Ví dụ

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);
   }
}

Đầu ra

Enter your name:
krishna
Hello krishna