"cannot find symbol" এররো প্রধানত তখন হয় যখন আমরা প্রোগ্রামে ডিক্লেয়ার না করা একটি ভেরিয়েবল রেফারেন্স করার চেষ্টা করি, এর মানে কম্পাইলার আমরা যে ভেরিয়েবলটি রেফার করছি সেটি চিনে না।
"Cannot find symbol" এররোর সম্ভাব্য কারণগুলো
- ডিক্লেয়ার না করা বা কোডের বাইরের একটি ভেরিয়েবল ব্যবহার।
- ভুল কেস ব্যবহার ( "tutorials" এবং "Tutorials" আলাদা) বা বানান ভুল।
- প্যাকেজড ক্লাসকে import ডিক্লেয়ারেশন দিয়ে সঠিকভাবে রেফারেন্স করা হয়নি।
- অপ্রোপারিয়েট আইডেন্টিফায়ার মান ব্যবহার যেমন অক্ষর, সংখ্যা, আন্ডারস্কোর এবং ডলার সাইন। hello-class এবং helloclass আলাদা।
উদাহরণ
public class CannotFindSymbolTest {
public static void main(String[] args) {
int n1 = 10;
int n2 = 20;
sum = n1 + n2;
System.out.println(sum);
}
}
আউটপুট
CannotFindSymbolTest.java:5: error: cannot find symbol sum = n1 + n2; ^ symbol: variable sum location: class CannotFindSymbolTest CannotFindSymbolTest.java:7: error: cannot find symbol System.out.println(sum); ^ symbol: variable sum location: class CannotFindSymbolTest
উপরের প্রোগ্রামে, "Cannot find symbol" এররো হবে কারণ "sum" ডিক্লেয়ার করা হয়নি। এররো সমাধান করতে "int sum = n1+n2" ভেরিয়েবল sum ব্যবহার করার আগে ডিফাইন করতে হবে।