Java'da Palindrom Programı | Polindrome'u Kontrol Etmek İçin Java Programı

Yayınlanan: 2021-02-26

İçindekiler

Tanıtım

Java, sadeliği, mimari tarafsızlığı, platform bağımsızlığı, dağıtılmış yürütme ve yeniden kullanılabilirliği nedeniyle programcılar arasında büyük ilgi gördü. Ayrıca Java, sorunsuz programlama için önceden tanımlanmış birçok kitaplığa sahiptir. Ve herkes böyle bir dilde kodlamaya hevesli olacak.

Şimdi konumuza gelelim, verilen girdinin palindrom olup olmadığını kontrol etmek için bir java kodu yazacağız.

Bir sayı veya kelime, tersine çevrildikten sonra aynı kalıyorsa, palindrom olduğu söylenir. Ve bir çözümü yinelemeli ve yinelemeli olarak uygulayabiliriz. O halde başlayalım!

Yinelemeli Java Kodu

Fikir basit; girdimizin ters çevrilmiş sayısını saklayan bir 'ters' değişkeni bildireceğiz.

Her yinelemede ters değişkeni 10 ile çarpacağız (ünitenin konumunu 0 ile doldurmak için). Ardından, giriş numarasını 10'a böldükten sonra kalanını ekleyeceğiz. Kalanı ekledikten sonra giriş numarasını 10'a böleceğiz (birim konumundaki sayıyı kaldırmak için).

Giriş sayısı 0 olduğunda yukarıdaki algoritmayı durduracağız ve ters değişkende bulunan sayı, giriş numarasının tersi olacaktır.

public class upGrad{

public static void main(String[] args) {

int n=12221;

int ters=0;

int sıcaklık=n;

süre(temp>0){

ters=ters*10;

ters=ters+temp%10;

sıcaklık=sıcaklık/10;

}

if(ters==n)

System.out.print(n+” bir palindromdur”);

Başka

System.out.print(n+” bir palindrom değil”);

}

}

Yukarıdaki kodda, ilk sayıyı saklayan bir 'n' değişkeni tanımladık ve n sayısının bir palindrom olup olmadığını kontrol etmemiz gerekiyor. while döngüsünde, daha önce tartıştığımız algoritmayı takip edeceğiz. Ve son olarak, ters çevrilen sayının ilk sayıya eşit olup olmadığını kontrol ediyoruz. Değişen sayı ve ilk sayılar benzer ise, palindrom değil, palindrom olarak yazdırıyoruz.

Şimdi, bu kod yalnızca bir tamsayı girişi için çalışacaktır. Ve eğer belirli bir kelimenin palindrom olup olmadığını kontrol etmek istiyorsak, onunla stringler kullanarak ilgilenmeliyiz. Ve işte bunu yapmak için kod.

public class upGrad{

public static void main(String[] args) {

Dizi s=”rotor”;

String ters=yeni String();

for(int i=s.length()-1;i>=0;i–)

ters=ters+s.charAt(i);

if(s.equals(ters))

System.out.print(s+” bir palindromdur”);

Başka

System.out.print(s+” bir palindrom değil”);

}

}

Yukarıdaki kodda, ilk dizenin karakterlerini kuyruktan başa kadar ters dizeye ekliyoruz ve ilk dizeye eşit olup olmadığını kontrol ediyoruz. Dizeyi bir sözcükle sabit kodladık, ancak tarayıcı sınıfını kullanarak kullanıcı girişi ile başlatabiliriz.

Özyinelemeli Java Kodu

Bu uygulamada, ilk ve son karakterleri karşılaştıracağız. Ve eğer eşitlerse, kalan dize için daha fazla yineleyin.

Ancak bu mantık, tek sayıda karaktere sahip dizeler için çalışmayacaktır. Dolayısıyla, bir dizgiyi palindrom olarak sonuçlandırdığımız bir temel durum eklersek, dizgenin uzunluğu bir ise, yani ilk ve son karakterlerin konumu aynıdır. Bu, tek boyutlu dizelerle ilgili sorunumuzu çözecektir çünkü ortadaki öğeye geri döneceğiz ve ardından ortada yalnızca tek bir karakter kaldığı için onu bir palindrom olarak sonuçlandıracağız.

public class upGrad{

public static boolean isPalindrome(String str, int low, int high){

if(düşük==yüksek)

true döndür;

if(str.charAt(düşük)!=str.charAt(yüksek))

yanlış döndür;

if(yüksek-düşük>1)

dönüş isPalindrome(str,düşük+1,yüksek-1);

true döndür;

}

public static void main(String[] args) {

Dizi s1=”rotor”;

string s2=”programlama”;

System.out.println(isPalindrome(s1,0,s1.length()-1));

System.out.println(isPalindrome(s2,0,s2.length()-1));

}

}

Yukarıdaki kodda, parametre olarak iki tamsayı olan bir string bekleyen bir fonksiyon yazdık. Ve iki tamsayı, düşük, yüksek, kontrol edilmesi gereken karakterleri takip eden işaretçilerdir. Ve eğer düşük ve yüksek konumdaki isimler eşitse.

aynı işlevi, dize her iki taraftan bir karakter küçültülecek şekilde güncellenmiş parametrelerle çağıracağız. Alçak ve yüksek işaretçiler birbiriyle buluşuyorsa veya aralarında tek bir karakter varsa, dizenin ortasına kadar ulaştık ve onu bir palindrom olarak sonuçlandırıyoruz.

Şimdi, "rotor" dizisi için kuru bir kod çalıştıralım. Başlangıçta, düşük 0 ve yüksek 4'tür. 0. konumdaki ('r') karakter 4. konumdaki ('r') karaktere eşit olduğundan, düşük olarak güncellenen düşük ile özyinelemeli bir çağrı yapacağız. +1 ve yüksek, yüksek-1 olarak güncellendi.

Şimdi, düşük 1 ve yüksek 3'tür çünkü bu konumlardaki karakterler eşit olduğundan, yine özyinelemeli bir çağrı yapacağız. Şimdi low 2 ve high 2'dir ve low'un high'a eşdeğer olduğu temel durumu tetikler, bu nedenle true değerini döndürürüz.

Bir tamsayının palindrom olup olmadığını kontrol etmek için özyinelemeli bir işlev de uygulayabiliriz ve işte bunu yapma süreci.

statik boolean isPalindrome(int n, int rev, int temp){

if(temp==0)

dönüş n==dev;

devir= devir*10;

dönüş isPalindrome(n,dev+temp%10,temp/10);

}

Yukarıdaki fonksiyonda, başlangıçta n ve temp'nin aynı olduğuna dikkat edin. Çünkü en sonunda, ters sayıyı ilk sayı ile karşılaştırmamız gerekiyor, böylece tüm hesaplamalar aynı değişken üzerinde gerçekleştirilir. İlk sayı değiştirilmemelidir.

Ayrıca Okuyun: Java Projesi Fikirleri ve Konuları

Dünyanın En İyi Üniversitelerinden Online Yazılım Kursları Öğrenin . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.

Çözüm

Palindromun tanımını anladık, bir dizgenin/sayının palindrom olup olmadığını kontrol etmek için yinelemeli ve özyinelemeli kodlarda yürüdük. Kodu, kuru bir örnek örnek çalışmasıyla biliyoruz. Artık palindromu kontrol etmek için bir kod uygulamanın farkında olduğunuza göre, onu tarayıcı sınıfını kullanarak uygulamayı deneyin ve OOP kavramlarını kullanarak kodlamayı deneyin.

Java becerilerinizi geliştirmek istiyorsanız, bu java projelerine el atmanız gerekir. Java, tam yığın geliştirme hakkında daha fazla bilgi edinmek istiyorsanız, upGrad & IIIT-B'nin çalışan profesyoneller için tasarlanmış ve 500+ saatlik zorlu eğitim, 9+ projeler ve ödevler, IIIT-B Mezunları statüsü, pratik uygulamalı bitirme projeleri ve en iyi firmalarla iş yardımı.

Palindrom nedir?

Palindromik cümle, aynı şeyi geriye veya ileriye doğru okuyan edebi bir kompozisyon, cümle, ayet veya kelimedir. Palindrom, bir tür kelime oyunudur, özellikle aynı şeyi geriye veya ileriye doğru okuyan bir kelime veya kelime öbeği (cümle). Bir palindrom, aynı şeyi geriye veya ileriye doğru okuyan bir kelime, deyim, sayı veya başka bir karakter dizisidir. Örneğin, Bir adam, bir plan, bir kanal, Panama! bir palindromdur. Bazı palindromlar, 106601 sayısı gibi kelimeler değildir. Bazı palindromlar, Madam, I'm Adam gibi ifadelerdir.

Java mülakatına nasıl hazırlanılır?

Bir Java uzmanı olmak istiyorsanız, önce birkaç şeyin yolunda olduğundan emin olmanız gerekir. Her şeyden önce, Java dili hakkında iyi bir çalışma bilgisine sahip olmanız gerekir. İkinci olarak, Java API'sini iyi anlamalısınız. API'ye mutlak hakim olmanız gerekmez, ancak neyin mevcut olduğunu ve hangi sınıfı ne zaman kullanacağınızı anlamalısınız. Son olarak, Java Sanal Makinesi hakkında derin bir anlayışa sahip olmanız gerekir. Örneğin, basit bir dil için bir tercüman yazabilmelisiniz. Bir derleyici geliştirme pozisyonu için röportaj yapıyorsanız, kancadan kurtulursunuz.

İyi Java programları nasıl yazılır?

Java'da program yazarken en iyi uygulamalardan bazıları şunlardır: Dersi başlatmak için her zaman 'public class' kullanın. Bir sınıf içinde asla 'public static void main' kullanmayın. Sınıf içinde asla 'this' anahtar sözcüğünü kullanmayın. Yöntemlerde asla 'final' değiştirici kullanmayın. Örnek değişkenlerde asla 'statik' değiştiriciyi kullanmayın. Kesinlikle gerekli olmadıkça değişkenleri asla 'genel' yapmayın. Her zaman iyi bir adlandırma kuralına sahip olun. Asla bir sayısal son eki olan birden fazla harften oluşan bir değişken yapmayın. Birden fazla kelime ile değişken yapmaktan kaçının. Yöntemin içinde asla 'this' anahtar sözcüğünü kullanmayın. Asla 'break' anahtar kelimesini kullanmayın.