ট্র্যাক
/
Java
Java
/
অনুশীলনী
/
ঝকঝকে পরিষ্কার
ঝকঝকে পরিষ্কার

ঝকঝকে পরিষ্কার

লার্নিং অনুশীলনী

ভূমিকা

ক্যারেক্টার

ক্যারেক্টার

Java-এর char প্রিমিটিভ টাইপ হলো একটি একক ক্যারেক্টারের ১৬ বিটের উপস্থাপনা। একাধিক char মিলে একটি স্ট্রিং তৈরি হতে পারে, যেমন "word", আবার char-গুলোকে আলাদাভাবে প্রসেসও করা যায়। একটি char লিটারেলকে একক উদ্ধৃতি চিহ্ন দিয়ে ঘিরে লেখা হয় (যেমন 'A')।

char lowerA = 'a';
char upperB = 'B';

একটি String-এর char-গুলো পাওয়া

String.toCharArray মেথডটি একটি স্ট্রিংয়ের ক্যারেক্টারগুলো অ্যারে হিসেবে রিটার্ন করে। অ্যারে নিয়ে আগের আলোচনায় যেমন বলা হয়েছে, আপনি অ্যারের উপর একটি for লুপ চালিয়ে ইটারেশন করতে পারেন।

String text = "Hello";
char[] asArray = text.toCharArray();

for (char ch: asArray) {
    System.out.println(ch);
}

// Outputs:
// H
// e
// l
// l
// o

Character ক্লাস

char পরীক্ষা করতে ও ম্যানিপুলেট করতে লাইব্রেরিতে অনেক বিল্ট-ইন মেথড আছে। এগুলো java.lang.Character ক্লাসের স্ট্যাটিক মেথড হিসেবে পাওয়া যায়। এখানে কিছু উদাহরণ দেওয়া হলো:

Character.isWhitespace(' ');    // true
Character.isWhitespace('#');    // false

Character.isLetter('a');        // true
Character.isLetter('3');        // false

Character.isDigit('6');         // true
Character.isDigit('?');         // false

একটি String-এ char যোগ করা

একটি String-এ char যোগ করতে + অপারেটর ব্যবহার করা যায়।

'a' + " banana"     // => "a banana"
"banana " + 'a'     // => "banana a"
Caution

দুটি char জোড়া লাগিয়ে একটি String বানাতে + ব্যবহার করবেন না, এদিকে খেয়াল রাখুন! এভাবে দুটি char যোগ করলে পাওয়া যায় একটি int, String নয়! যেমন:

'b' + 'c';
// => 197 (not the String "bc")

এর কারণ, Java char-কে int-এ প্রমোট করে (Java Language Specification-এর 4.2 Primitive Types and Values দেখুন)।

তবে অনেক ক্যারেক্টার যোগ করতে হলে, বদলে একটি StringBuilder ব্যবহার করা আরও দক্ষ হতে পারে:

StringBuilder builder = new StringBuilder();
builder.append('a');
builder.append('b');
builder.append('c');

String builtString = builder.toString();
// => abc

নির্দেশনা

এই অনুশীলনীতে আপনি কিছু ইউটিলিটি রুটিনের একটি আংশিক সেট ইমপ্লিমেন্ট করবেন, যা একজন ডেভেলপারকে SqueakyClean নাম পরিষ্কার করতে সাহায্য করবে।

৪টি টাস্কে আপনি ধীরে ধীরে clean মেথডটি গড়ে তুলবেন। একটি বৈধ SqueakyClean নাম শূন্য বা তার বেশি সংখ্যক অক্ষর ও আন্ডারস্কোর নিয়ে গঠিত।

সব ক্ষেত্রেই ইনপুট স্ট্রিংটি নন-নাল হওয়ার নিশ্চয়তা আছে। মনে রাখবেন, clean মেথডটি একটি খালি স্ট্রিংকে বৈধ হিসেবে গণ্য করবে।

1. যেকোনো স্পেসকে আন্ডারস্কোর দিয়ে প্রতিস্থাপন করুন

যেকোনো স্পেসকে আন্ডারস্কোর দিয়ে প্রতিস্থাপন করতে (static) SqueakyClean.clean() মেথডটি ইমপ্লিমেন্ট করুন। এটি শুরু ও শেষে থাকা স্পেসেও প্রযোজ্য।

SqueakyClean.clean("my   Id");
// => "my___Id"

2. kebab-case থেকে camelCase-এ রূপান্তর করুন

kebab-case থেকে camelCase-এ রূপান্তর করতে (static) SqueakyClean.clean() মেথডটি পরিবর্তন করুন।

SqueakyClean.clean("a-bc");
// => "aBc"

3. লিটস্পিককে সাধারণ লেখায় রূপান্তর করুন

লিটস্পিককে সাধারণ লেখায় রূপান্তর করতে (static) SqueakyClean.clean() মেথডটি পরিবর্তন করুন।

সহজ রাখতে আমরা শুধু 4, 3, 0, 1 ও 7-কে যথাক্রমে a, e, o, l ও t দিয়ে প্রতিস্থাপন করব।

SqueakyClean.clean("H3ll0 W0rld");
// => "Hello_World"
SqueakyClean.clean("4 73s7");
// => "a_test"

4. যে ক্যারেক্টারগুলো অক্ষর নয়, সেগুলো বাদ দিন

যেসব ক্যারেক্টার অক্ষর নয়, সেগুলো বাদ দিতে (static) SqueakyClean.clean() মেথডটি পরিবর্তন করুন।

SqueakyClean.clean("a$#.b");
// => "ab"
GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি একটি নতুন উইন্ডো বা ট্যাবে খোলে
Java Exercism

ঝকঝকে পরিষ্কার শুরু করতে প্রস্তুত?

Exercism-এ সাইন আপ করুন, Java ট্র্যাকের 26টি কনসেপ্ট158টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।