কম্পিউটার

জাভাতে StringIndexOutOfBoundsException কি?


স্ট্রিংগুলি জাভাতে অক্ষরগুলির একটি ক্রম সংরক্ষণ করতে ব্যবহৃত হয়, সেগুলিকে অবজেক্ট হিসাবে বিবেচনা করা হয়। java.lang প্যাকেজের স্ট্রিং ক্লাস একটি স্ট্রিং প্রতিনিধিত্ব করে।

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

String stringObject = new String("Hello how are you");
String stringLiteral = "Welcome to Tutorialspoint";

যেহেতু স্ট্রিং অক্ষরগুলির একটি অ্যারে সঞ্চয় করে, ঠিক অ্যারের মতো প্রতিটি অক্ষরের অবস্থান একটি সূচক দ্বারা প্রতিনিধিত্ব করা হয় (0 থেকে শুরু করে)। উদাহরণস্বরূপ, যদি আমরা −

হিসাবে একটি স্ট্রিং তৈরি করি
String str = "Hello";

এটিতে অক্ষরগুলি −

হিসাবে অবস্থান করে

জাভাতে StringIndexOutOfBoundsException কি?

আপনি যদি সূচীতে একটি স্ট্রিং এর অক্ষর অ্যাক্সেস করার চেষ্টা করেন যা তার দৈর্ঘ্যের চেয়ে বড় একটি StringIndexOutOfBoundsException নিক্ষেপ করা হয়।

উদাহরণ

স্ট্রিং জাভাতে ক্লাস স্ট্রিংগুলিকে ম্যানিপুলেট করার জন্য বিভিন্ন পদ্ধতি প্রদান করে। আপনি charAt() ব্যবহার করে একটি নির্দিষ্ট সূচকে অক্ষরটি খুঁজে পেতে পারেন এই ক্লাসের পদ্ধতি।

এই পদ্ধতিটি স্ট্রিং-এর সূচক নির্দিষ্ট করে একটি পূর্ণসংখ্যার মান গ্রহণ করে এবং নির্দিষ্ট সূচকে স্ট্রিং-এর অক্ষর প্রদান করে।

নিম্নলিখিত জাভা প্রোগ্রামে, আমরা 17 দৈর্ঘ্যের একটি স্ট্রিং তৈরি করছি এবং সূচী 40 এ উপাদানটি প্রিন্ট করার চেষ্টা করছি।

public class Test {
   public static void main(String[] args) {
      String str = "Hello how are you";
      System.out.println("Length of the String: "+str.length());
      for(int i=0; i<str.length(); i++) {
         System.out.println(str.charAt(i));
      }
      //Accessing element at greater than the length of the String
      System.out.println(str.charAt(40));
   }
}

আউটপুট

চালানোর সময় ব্যতিক্রম -

যেহেতু আমরা সূচির দৈর্ঘ্যের StringIndexOutOfBoundsException থ্রো করার চেয়ে বেশি সূচীতে উপাদানটি অ্যাক্সেস করছি৷

Length of the String: 17
H
e
l
l
o
h
o
w
a
r
e
y
o
u
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 40
   at java.base/java.lang.StringLatin1.charAt(Unknown Source)
   at java.base/java.lang.String.charAt(Unknown Source)
   at Test.main(Test.java:9)

  1. জাভাতে স্ট্রিং ইন্টার্ন() পদ্ধতির ভূমিকা কী?

  2. জাভাতে টাইপ-সেফ এনাম কী?

  3. জাভাতে স্ট্রিং রাইটারের গুরুত্ব কী?

  4. জাভাতে StringIndexOutOfBoundsException (আনচেক করা) কীভাবে পরিচালনা করবেন?