Check the scope
Make sure that the symbol you are trying to reference is within the scope of the current code block.
Example 1:
Java
// Java Program to demonstrate scope of code public class Main { public static void main(String[] args) { int x = 5 ; if (x > 0 ) { int y = 10 ; } // error: cannot find symbol System.out.println(y); } } |
Output:
./Main.java:8: error: cannot find symbol System.out.println(y); ^ symbol: variable y location: class Main
Explanation of the above program
In this program, we define an integer variable x and initialize it to 5. We then have an if statement that checks if x is greater than 0. If it is, we define another integer variable y, and initialize it to 10. However, y is only within the scope of the if block, and cannot be accessed outside of it.
Example 2:
Java
public class Main { public static void main(String[] args) { int x = 5 ; int y = 0 ; if (x > 0 ) { y = 10 ; } System.out.println(y); } } |
10
Check the import statements
Make sure that any classes or packages that you are trying to reference are imported properly.
Example 1:
Java
// java program to demonstrate wrong use of import // statements import java.util.Rand; public class Main { public static void main(String[] args) { Rand rand = new Rand(); int x = rand.nextInt( 10 ); System.out.println( "Random number: " + x); } } |
Output:
./Main.java:1: error: cannot find symbol import java.util.Rand; ^ symbol: class Rand location: package java.util ./Main.java:6: error: cannot find symbol Rand rand = new Rand(); ^ symbol: class Rand location: class Main ./Main.java:6: error: cannot find symbol Rand rand = new Rand(); ^ symbol: class Rand location: class Main
Example 2:
Java
import java.util.Random; public class Main { public static void main(String[] args) { Random rand = new Random(); int x = rand.nextInt( 10 ); System.out.println( "Random number: " + x); } } |
Random number: 3
How to Resolve The Cannot Find Symbol Error in Java?
The Cannot Find Symbol Error in Java error occurs when the Java compiler cannot find a symbol that you are trying to reference in your code. In this article, we will explore how to resolve the “Cannot Find Symbol” error in Java.
The “Cannot Find Symbol” error occurs when you are trying to reference a symbol that has not been defined or imported properly. Symbols can include variables, methods, and classes or in easy language when you try to reference an undeclared variable in your code. The error typically occurs when you have made a typo, used the wrong case in the symbol name, or when you are trying to reference a symbol that is out of scope. You may also encounter this error when you are using multiple files, and the compiler cannot find a class or package that you are trying to reference.
Common mistakes that lead to “Cannot Find Symbol” error in Java and resolving them, you can follow these steps:
- Typos
- Undeclared Variable
- Scope of Current block
- Import Statement
Contact Us