Rumah >Java >javaTutorial >Apakah yang menyebabkan ralat 'Tidak dapat mencari simbol' di Jawa?

Apakah yang menyebabkan ralat 'Tidak dapat mencari simbol' di Jawa?

王林
王林ke hadapan
2023-08-19 12:37:264815semak imbas

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

Setiap kali anda perlu menggunakan kelas/antara muka luaran (sama ada ditentukan pengguna atau terbina dalam) dalam program semasa, anda perlu mengimport kelas ini ke dalam program semasa menggunakan kata kunci import.

Tetapi, semasa mengimport mana-mana kelas:

  • Jika laluan kelas/antara muka yang anda import tidak tersedia untuk JVM.

  • Jika nama kelas mutlak yang anda nyatakan dalam penyata import tidak tepat (termasuk pakej dan nama kelas).

  • Jika anda telah mengimport kelas/antara muka yang digunakan.

Anda akan menerima pengecualian yang menunjukkan "Tidak dapat mencari simbol..."

Contoh

Dalam contoh berikut, kami cuba membaca dari papan kekunci (System.in) yang mewakili String nama pengguna nilai. Untuk tujuan ini, kami menggunakan kelas pengimbas pakej Java.Util.

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

Ralat masa kompilasi

Kerana kami menggunakan kelas yang dipanggil Pengimbas dalam program tetapi tidak mengimportnya dalam program. Semasa pelaksanaan, program menjana ralat masa kompilasi berikut:

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

Penyelesaian

  • Anda perlu menetapkan laluan kelas untuk fail JAR yang mengandungi antara muka kelas yang diperlukan.

  • Gunakan kata kunci import untuk mengimport kelas yang diperlukan daripada pakej. Apabila mengimport, anda perlu menentukan nama mutlak kelas yang diperlukan (termasuk pakej dan subpakej).

Contoh

Demo dalam talian

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

Output

Enter your name:
krishna
Hello krishna

Atas ialah kandungan terperinci Apakah yang menyebabkan ralat 'Tidak dapat mencari simbol' di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam