Stringdagi unli harflarni sanash
Stringdagi unli harflarni sanash
Har bir belgini aylanib chiqing va a, e, i, o, u harflarini sanang (katta-kichik harf farqlanmaydi).
Misol
String text = "Hello Java";
int count = 0;
for (char c : text.toLowerCase().toCharArray()) {
if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u') {
count++;
}
}
System.out.println("Vowels: " + count);
Tushuntirish: Stringni kichik harflarga o‘tkazamiz, har bir belgini aylanib chiqamiz va unli harf uchraganda hisoblagichni oshiramiz.
Umumiyroq misol
Yuqoridagi misol har bir unli harfni bir nechta shart bilan tekshiradi. Bu yaxshi ishlaydi, lekin umumiyroq yechim kerak bo‘lsa, unli harflarni Set ichida saqlab, belgilarni u bilan solishtirishingiz mumkin:
Misol
import java.util.Set;
import java.util.HashSet;
public class Main {
public static void main(String[] args) {
String text = "Hello Java";
Set<Character> vowels = new HashSet<>();
for (char v : new char[]{'a','e','i','o','u'}) {
vowels.add(v);
}
int count = 0;
for (char c : text.toLowerCase().toCharArray()) {
if (vowels.contains(c)) {
count++;
}
}
System.out.println("Vowels: " + count);
}
}
Tushuntirish: Avval barcha unli harflarni Set to‘plamiga qo‘shamiz. So‘ngra (kichik harflarga o‘tkazilgan) stringning belgilarini aylanib chiqamiz. Har bir belgi to‘plamda bor-yo‘qligi tekshiriladi va agar mavjud bo‘lsa, hisoblagich oshadi. Agar boshqa belgilarni (masalan, undosh harflar, raqamlar yoki simvollarni) sanamoqchi bo‘lsangiz, bu usulni kengaytirish osonroq.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
