String İçindeki Harf Sayısını Bulma

By Burak TUNGUT - 21.11.2012 - Kategori Java

Bugün ki ilk makalem de bir string in içinde hangi harfin kaç tane bulunduğunu döngü ile bularak diziye aktarıp bulacağız.

Sınava hazırlanırken oluşturduğum bir kaç küçük örneği incelerken bu güzel bahar akşamında ilk yazımı bu konu üzerine yazmaya karar verdim :)

Algoritmamızı Düşünelim

Saygı değer hocam Yrd.Doç.Dr. Ecir Uğur Küçüksille derste böyle bir soru sorunca ilk başta durup haylice düşünsemde ufak bir ip ucu aldıktan sonra çokta kolay bir şekilde yazılacağına karar vermiştim. Umarım sizlere de bunu aktarabilirim.

Öncelikle bana verilen ip ucuyla başlamak istiyorum, bu işi yaparken bir dizi yardımıyla yapacağız.
Öncelikle bir adet 26 uzunluğa sahip integer dizi (array) tanımlıyoruz. 26 sayısının önemi ise alfabemizdeki harf sayımız :)
Daha sonra verilen stringin uzunluğu kadar for döngüsü yardımıyla her gelen harfin (char) a yı 0 referans almak üzere kaçıncı indise sahip olduğunu bularak o değeri bir arttırmak olacak.
Ben bu algoritmaya char count adını veriyorum :)

Mesela

dizi[0] bize a harfinin karşılığını verecektir böylece a sayısı geldikçe dizi[0] değerine 1 ekleyeceğiz.
 

C# için

Kodu java da yazmış olsam da C# ile de aynı kodları kullanabilirsiniz, sadece charAt methodu yerine başka bir method kullanmanız gerekmekte.
 

Kodlarımız

public static void main(String[] args) {
		
		String burak = "burak";
		int[] s = new int[26];
		
		for(int i=0 ; i < burak.length() ; i++)
		{
			s[burak.charAt(i)-'a']++;
		}
		
		for(int i = 0 ; i < 26 ; i++)
			if(s[i]!=0)
				System.out.println((char)('a'+i)+"="+s[i]);
		
	}
Yorum Bırak

Facebook
Son Yorumlar