Java Anagram Kullanımı

Java Anagram Kullanımı

Merhabalar,

Türkçe kaynaklarda bulunmayan Anagram kullanımını ve kodlarını sizlerle paylaşacağım ama önce anagram nedir ?
Anagram: 2 veya daha fazla kelimenin içerdiği harflerin birbiri ile aynı olup olmadığını ve kelime uzunluğunu ölçülmesine verilen addır. Daha doğrusu bizim projemiz bu işi yapıyor.
Örnek: ilk kelime=Emre ikinci kelime=Emir
Bu iki kelimede farklı kelimeler geçtiği için bunlar anagram değildir fakat
ilk kelime emre ikinci kelime erme
burada iki kelimenin harfleri ve harf sayısı aynı olduğu için bunlar anagram oluyor.

Sizler için hazırladığım Anagram Kontrol Yazılımı:


package AnagramOrnek;

import java.util.Arrays;
import javax.swing.JOptionPane;
//import javax.swing.JScrollPane;
//import javax.swing.JTextArea;

/**
 *
 * @author Emre ÇAPAN
 */
public class AnagramOrnek {


    public static void main(String[] args) {
        String s1= JOptionPane.showInputDialog("İlk kelimeyi girin"); //ilk kelimeyi alalım
        String s2= JOptionPane.showInputDialog("İkinci kelimeyi girin"); //ikinci kelimeyi alalım

        boolean al= AnagramKontrol(s1,s2); // AnagramKontrol metoduna 2 adet karşılaştırılacak kelime gönderiyoruz, gelen sonucu 0 veya 1 olarak "al " değişkenimize alıyoruz.
        if (al) { // Eğer "al" değikeninde 1 varsa 
            JOptionPane.showMessageDialog(null, "Anagramdır");
        }
        else    // "al" değişkeni 0 ise
           JOptionPane.showMessageDialog(null, "Anagram Değildir");
    }
    public static boolean AnagramKontrol(String kelime1, String kelime2) {
     char[] kelimeDizi1 = kelime1.replaceAll("[s]", "").toCharArray();//ilk kelimedeki karakterleri temizle
     char[] kelimeDizi2 = kelime2.replaceAll("[s]", "").toCharArray();//ikinci kelimeyi temizle
     Arrays.sort(kelimeDizi1);//ilk kelimedeki harfleri sırala
     Arrays.sort(kelimeDizi2);//ikinci kelimedeki harfleri sırala
     return Arrays.equals(kelimeDizi1, kelimeDizi2); //eşit ise 1 değil ise 0 döndür
}
    
}

Esenlikle

Emre ÇAPAN

Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

Yukarı Git