Sửa lỗi trong lập trình java cannot find symbol method năm 2024
The “Cannot find symbol” error in Java is a common issue that can often be resolved by understanding variable scopes, following naming conventions, and utilizing the features of an IDE. Writing clean and organized code also plays a crucial role in avoiding such errors. 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:
TyposMake sure that the symbol you are trying to reference is spelled correctly and matches the case used in the definition. Example 1: Java
./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main0`int` ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main2`int` ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main4 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main6 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main7 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main8 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main9 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main0 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main1 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main2 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main7 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main4 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main7 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main6 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main8 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main8 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main0 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main1 ./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 symbol: class Rand
location: class Main
./Main.java:6: error: cannot find symbol symbol: class Rand
location: class Main1 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main7 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main4 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main7 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main6 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main6 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main0 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main1 ./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 symbol: class Rand
location: class Main
./Main.java:6: error: cannot find symbol symbol: class Rand
location: class Main9`public`0`public`1 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main7 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main4 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main4
./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main6 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main7`int` `class`5`class`6`class`7`class`8`class`9 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main7`Main { `1 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main4 `Main { `4 Output: ./Main.java:17: error: cannot find symbol symbol: method large(int,int)
location: class MainExplanation of the above programWe get this error as the function we initialized is Large(int a,int b) whereas we are calling large(a,b) so to resolve this typo mistake we just change large to Large. Example 2: Java
./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main0`int` ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main2`int` ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main4 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main6 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main7 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main8 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main9 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main0 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main1 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main2 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main7 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main4 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main7 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main6 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main8 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main8 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main0 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main1 ./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 symbol: class Rand
location: class Main
./Main.java:6: error: cannot find symbol symbol: class Rand
location: class Main1 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main7 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main4 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main7 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main6 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main6 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main0 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main1 ./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 symbol: class Rand
location: class Main
./Main.java:6: error: cannot find symbol symbol: class Rand
location: class Main9`public`0`public`1 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main7 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main4 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main4
./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main6 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main7`int` ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main16`class`6`class`7`class`8`class`9 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main7`Main { `1 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main4 `Main { `4 Undeclared VariableWe can also get errors by undeclared Variables. Example 1: Java
./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main33 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main6 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main7`int` ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main38 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main39`public`1 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main7`int` ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main43 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main44`public`1 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main7 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main47 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main7 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main49 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main4 `Main { `4 Output: ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class MainExplanation of the programIn the above example, the “Cannot find symbol” error occurs as we have not declared the sum. The corrected code is given below (will occur because “sum” is not declared. In order to solve the error, we need to define “int sum = n1+n2” before using the variable sum. Example 2: Java
./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main33 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main6 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main7`int` ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main38 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main39`public`1 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main7`int` ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main43 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main44`public`1 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main7`int` ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main47 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main7 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main49 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main4 `Main { `4 Check the scopeMake sure that the symbol you are trying to reference is within the scope of the current code block. Example 1: Java
./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main33 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main6 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main7`int` ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main93 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main94`public`1 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main7 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main8 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main98 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main99 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main00 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main0`int` ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main03 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main04`public`1 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main7 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main4 ./Main.java:6: error: cannot find symbol symbol: variable sum
location: class Main
./Main.java:7: error: cannot find symbol symbol: variable sum
location: class Main7 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main09 ./Main.java:8: error: cannot find symbol symbol: variable y
location: class Main4 `Main { `4 Output: ./Main.java:8: error: cannot find symbol symbol: variable y
location: class MainExplanation 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. |