Java'da karakterlerin (char değişkenler) birer harf, sayı ya da boşluk olduklarını aşağıdaki yöntemlerle tespit edebiliyoruz. Daha önce Java'da yazılan karakter harf mi anlamak yazımda da verdiğim örnekleri biraz daha geliştirelim ve yazdığımız uzunca bir metindeki
- harf karakteri sayısını (abc gibi): Character.isLetter(char c) metodu ile
- sayı karakteri sayısını (135 gibi): Character.isDigit(char c) metodu ile
- boşluk karakteri sayısını (space): Character.isSpaceChar(char c) metodu ile
- diğer karakterleri (noktalama işaretleri gibi)
saydıran ve kaç adet hangisinden olduğunu yazdıran bir program kodlayalım. Bu işlem için adım adım:
- Kullanıcıdan bir yazı (String) yazmasını isteyeceğiz. Ben kodlarda temsili bir yazı bırakıyorum
- String değişkeni bir char dizisine dönüştürerek teker teker tüm karakterlerin birer harf, sayı, boşluk olup olmadıklarını kontrol edeceğiz
Kodlar:
Scanner girdi=new Scanner(System.in);
System.out.println("Lütfen bir yazı yazın");
String yazi=girdi.nextLine();
char[] karakterler = yazi.toCharArray();
int harf = 0;
int bosluk = 0;
int sayi = 0;
int isaret = 0;
for(int i = 0; i < yazi.length(); i++){
if(Character.isLetter(karakterler[i])){
harf ++ ;
}
else if(Character.isDigit(karakterler[i])){
sayi ++ ;
}
else if(Character.isSpaceChar(karakterler[i])){
bosluk ++ ;
}
else{
isaret ++;
}
}
System.out.println("Harf sayısı: " + harf);
System.out.println("Boşluk sayısı: " + bosluk);
System.out.println("Sayı karakteri sayısı: " + sayi);
System.out.println("Noktalama işareti sayısı: " + isaret);
Çıktı:
Lütfen bir yazı yazın
> A noktasının Long.'u 165E ve B noktasının Long.'u 170W ise Küre üzerinde kısa yoldan gidileceğinden
Harf sayısı: 75
Boşluk sayısı: 14
Sayı karakteri sayısı: 6
Noktalama işareti sayısı: 4