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 ikbalyildiz.com
*/
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]

 

 

 

 

 

 

-229Gün -23Saat -9Dakika -44Saniye

 

 

 

 

 

 

.

muhammet ikbal yıldız telefon numarası
Bilgisayar Mühendisi, sigortacı, yazılımcı ve en önemlisi de bir baba...

Related Posts

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir