একটি শব্দ স্বরবর্ণ দিয়ে শুরু হয়েছে কিনা জানতে:
- String ক্লাসের split() মেথড ব্যবহার করে দেওয়া স্ট্রিংকে স্ট্রিং-গুলোর অ্যারেতে ভাগ করুন।
- ফর লুপে প্রাপ্ত অ্যারের প্রতিটি শব্দ ট্রাভার্স করুন।
- প্রাপ্ত অ্যারের প্রতিটি শব্দের প্রথম ক্যারেক্টার charAt() মেথড ব্যবহার করে পান।
- ইফ লুপ ব্যবহার করে যাচাই করুন ক্যারেক্টারের যেকোনো স্বরবর্ণের সাথে সমান কিনা, যদি হয় তবে শব্দটি প্রিন্ট করুন।
উদাহরণ
ধরুন একটি টেক্সট ফাইলে নিচের কন্টেন্ট আছে:
Tutorials Point originated from the idea that there exists a class of readers who respond better to on-line content and prefer to learn new skills at their own pace from the comforts of their drawing rooms.
নিচের জাভা প্রোগ্রাম এই ফাইলে স্বরবর্ণ দিয়ে শুরু হওয়া সব শব্দ প্রিন্ট করে।
import java.io.File;
import java.util.Scanner;
public class WordsStartWithVowel {
public static String fileToString(String filePath) throws Exception {
Scanner sc = new Scanner(new File(filePath));
StringBuffer sb = new StringBuffer();
String input = new String();
while (sc.hasNextLine()) {
input = sc.nextLine();
sb.append(input);
}
return sb.toString();
}
public static void main(String args[]) throws Exception {
String str = fileToString("D:\\sample.txt");
String words[] = str.split(" ");
for (int i = 0; i < words.length; i++) {
char ch = words[i].charAt(0);
if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u' || ch == ' ') {
System.out.println(words[i]);
}
}
}
}
আউটপুট
originated
idea
exists
a
of
on-line
and
at
own
of
উন্নত ভerson (কেস-ইনসেনসিটিভ + লেন্থ চেক):
String str = fileToString("D:\\sample.txt");
String words[] = str.split("\\s+"); // একাধিক স্পেস হ্যান্ডেল
int n = 3; // কাঙ্ক্ষিত লেন্থ
for (String word : words) {
if (!word.isEmpty()) {
char ch = Character.toLowerCase(word.charAt(0));
if ((ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u') && word.length() == n) {
System.out.println(word);
}
}
}
ব্যাখ্যা: মূল কোডে কেস-সেনসিটিভ (শুধু লোয়ারকেস ভোর্ব) এবং লেন্থ চেক নেই। উন্নত ভার্সনে Character.toLowerCase() এবং word.length() == n যোগ করা হয়েছে। split("\\s+") একাধিক হোয়াইটস্পেস হ্যান্ডেল করে।