JAVA Örüntü Bulma


İlk olarak örüntü nedir bu konu hakkında bilgilendirme yapalım. Aşağıda ki Şekil-1’de verilen örnek de iki dizi arasındaki desenleri göstermektedir. Buna göre Dizi2 nin tüm elemanı sıra ile Dizi1 de aranacaktır.

Fakat dizi2 de ki bir karakter dizi1 içerisinde var ise bu desenlerin ortak olmaları için en az ikinci bir orta karakter aranacaktır. Ortak karakterin bulunması halinde ortaklığın bittiği yere kadar ekrana desen olarak yazılır. Eğer ortaklık 1’den fazla bulunmuyor ise bir diğer elemana geçilir.

Mesela Dizi2 sıralamasının birinci elemanı “A” Dizi1 içerisinde vardır. Ama daha sonraki dizilerde ki terimler eşleşmediği için desen olma ihtimali kalmamıştır. Lakin dizi2 de bulunan “CE” karakterleri Dizi1 de de var aynı sıra ile yan yana var olduğu için ortak desen özelliği almıştır.

Java Örüntü Bulma

[php]package oruntubulma;
/*
@author Bilgi Hocası
*/
public class OruntuBulma {
char[] dizi1;
char[] dizi2;
public OruntuBulma(char[] dizi1, char[] dizi2){
this.dizi1=dizi1;
this.dizi2=dizi2;
}
void oruntuAra(){
char a[]=new char[5];
int aa=0;
for(int i=0;i<dizi1.length;i++){
for(int j=0;j<dizi2.length;j++){
if(dizi1[i]==dizi2[j]){
if(i<18) i++; a[aa]=dizi2[j]; aa++; } else{ if(aa>1) {oruntuYazdir(a);}else{i-=aa;}
a=sıfırla(a);
aa=0;
}
}
}
}
char []sıfırla(char a[]){
for(int i =0;i<a.length;i++)
a[i]=0;
return a;
}
void oruntuYazdir(char[] oruntu){
for(int i=0;i<oruntu.length;i++){
System.out.print(oruntu[i]);
}System.out.println();
}
public static void main(String[] args) {
char dizi1[]={‘A’,’B’,’C’,’E’,’R’,’T’,’D’,’G’,’K’,’W’,’Q’,’C’,’D’,’H’,’N’,’P’,’O’,’M’,’X’};
char dizi2[]={‘A’,’V’,’T’,’D’,’G’,’C’,’E’,’P’,’W’,’H’,’P’,’O’,’M’,’X’,’N’,’H’,’F’,’D’,’Y’};
OruntuBulma ob=new OruntuBulma(dizi1, dizi2);
ob.oruntuAra();
}
}
[/php]

Kaynak: Bu kodlamamız da görsel ve Algoritma anlatımı olarak Adnan Fatih Kocamaz Öğretmenimizin arşivinden alınmıştır

Sosyal Medyada Paylaş Paylaş Twitter Google+

İlginizi Çekecek Diğer Videolar

Konu hakkında yorumunuzu yazın