কম্পিউটার

জাভাতে প্রতীক ত্রুটি খুঁজে পাওয়া যায় না কি হতে পারে?


যখনই আপনার বর্তমান প্রোগ্রামে বাহ্যিক ক্লাস/ইন্টারফেস (হয় ব্যবহারকারী সংজ্ঞায়িত বা, অন্তর্নির্মিত) ব্যবহার করার প্রয়োজন হয় তখন আপনাকে আমদানি কীওয়ার্ড ব্যবহার করে আপনার বর্তমান প্রোগ্রামে সেই ক্লাসগুলি আমদানি করতে হবে৷

কিন্তু, কোনো ক্লাস আমদানি করার সময় −

  • আপনি যে ক্লাস/ইন্টারফেসটি আমদানি করছেন তার পথটি যদি JVM-এ উপলব্ধ না হয়।

  • যদি আপনি আমদানি বিবৃতিতে উল্লিখিত পরম শ্রেণীর নামটি সঠিক না হয় (প্যাকেজ এবং শ্রেণীর নাম সহ)।

  • আপনি যদি ব্যবহৃত ক্লাস/ইন্টারফেস আমদানি করে থাকেন।

আপনি “চিহ্ন খুঁজে পাচ্ছেন না……” বলে একটি ব্যতিক্রম পাবেন

উদাহরণ

নিম্নলিখিত উদাহরণে আমরা কী-বোর্ড (System.in) থেকে ব্যবহারকারীর নামের প্রতিনিধিত্বকারী একটি স্ট্রিং মান পড়ার চেষ্টা করছি। এর জন্য আমরা 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);
   }
}

কম্পাইল সময় ত্রুটি

যেহেতু আমরা আমাদের প্রোগ্রামে স্ক্যানার নামের একটি ক্লাস ব্যবহার করছি এবং এটি আমাদের প্রোগ্রামে আমদানি করিনি। কার্যকর করার সময়, এই প্রোগ্রামটি নিম্নলিখিত কম্পাইল টাইম ত্রুটি -

তৈরি করে
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

সমাধান

  • প্রয়োজনীয় ক্লাস ইন্টারফেস ধারণ করে JAR ফাইলের জন্য আপনাকে ক্লাস পাথ সেট করতে হবে।

  • আমদানি ব্যবহার করে প্যাকেজ থেকে প্রয়োজনীয় শ্রেণী আমদানি করুন কীওয়ার্ড আমদানি করার সময় আপনাকে প্রয়োজনীয় ক্লাসের পরম নাম (প্যাকেজ এবং সাব প্যাকেজ সহ) নির্দিষ্ট করতে হবে।

উদাহরণ

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

আউটপুট

Enter your name:
krishna
Hello krishna

  1. Enum জাভা কোন ক্লাস প্রসারিত করতে পারেন?

  2. কিভাবে আমরা জাভাতে একটি JTextField এ প্যাডিং যোগ করতে পারি?

  3. জাভাতে কার্সার ক্লাসের গুরুত্ব কী?

  4. জাভাতে একটি ব্যতিক্রম ক্লাস এবং একটি ত্রুটি ক্লাসের মধ্যে পার্থক্য কী?