Java Kelime İçindeki Harflerin Tekrar Sayısını Bulma

Konuyu Okuyanlar (0 kayıtlı üye )

sdkbyrm

olwα.ɴeт
Üyelik Tarihi
23 Aralık 2020
Mesajlar
813
Beğeniler
1
Puanı
3
Ticaret: 0 / 0 / 0
Kelime bulma ile ilgili bir uygulama yaparken hangi harften kaç tane olduğunu bulma ile ilgili bir sorunla karşılaştım. İnternet’te konu ile ilgili bir arama yaptığımda doğru bir sonuç bulamayınca kendim bir algoritma belirleyip sorunu çözdüm.


Aşağıdaki kodlar bir metin dizisinde hangi sembolden kaç tane olduğunu göstermektedir. Eşsiz karakterleri tutmak için Java’da HashMap Koleksiyonunu kullandım. Eğer şartı ile karakter koleksiyonda yoksa koleksiyonu harfi ekleyip değerini 1 yaptım. Eğer harf koleksiyonda varsa harfin önceki değerini bir arttırıp harfin değerini güncelledim.

Ayrıca Örnek 2‘de istenilen karakterleri sayma yapan bir örnek mevcuttur. Secim içindeki karakterleri değiştirerek istediğiniz karakterlerin olup olmadığını kontrol edebilirsiniz.



Örnek 1 Java Kodu:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

import java.util.HashMap;
import java.util.Scanner;

public class JavaOrnekleri {

public static void main(String[] args) {
String test="Merhaba Dünya yazısıdır 1231";
HashMap<Object, Object> hmap = new HashMap<Object, Object>();

for (int i = 0; i < test.length(); i++) {
if(!hmap.containsKey(test.charAt(i)))
{
hmap.put(test.charAt(i),1);
}
else
{
int count= (int)hmap.get(test.charAt(i));
hmap.put(test.charAt(i),count+1);
}
}
System.out.println(test);
System.out.println(hmap);
}

}
Çıktı:


1608727897513.png


Örnek 2 Java Kodu:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

import java.util.HashMap;
import java.util.Scanner;

public class JavaOrnekleri {
static String secim ="012345abcdefghijklmnopqrstuvwxyz";
public static void main(String[] args) {
String test="Merhaba Dünya 1199";
HashMap<Object, Object> hmap = new HashMap<Object, Object>();


for (int i = 0; i < test.length(); i++) {
if(secim.indexOf(test.charAt(i))>=0){
if(!hmap.containsKey(test.charAt(i)))
{
hmap.put(test.charAt(i),1);
}
else
{
int count= (int)hmap.get(test.charAt(i));
hmap.put(test.charAt(i),count+1);
}
}

}
System.out.println(test);
System.out.println(hmap);
}
}


Çıktı:
1608727878665.png
 
Üst Alt