Java 010: Palindrome Integers (with debugging)

Palindrome sayılar simetrik olan sayılardır. Yani bunları soldan sağa doğru ters bir biçimde yazsanız da yine orjinal sayı çıkar karşınıza. Bir sayının palindrome olup olmadığını kontrol eden Java kodumu ise aşağıda paylaşıyorum, fakat kullanmadan önce algoritmayı anlamak isterseniz debug yapmanızda fayda var derim. Veya benim koddan sonra paylaştığım ekran alıntılarına da bakabilirsiniz. Bu arada aşağıda paylaştığım kod sayıyı kullanıcıdan almıyor, ilk başta bir array içerisinde birçok sayının palindrome olup olmadığını kontrol ettirmiştim aslında ama sonradan sadece defult olarak 121 sayısını kod içerisinde tanımladım fakat illede klavyeden istediğim sayıyı gireceğim ben diyorsanız swing GUI kütüphanesini ekleyebilirsiniz😉
Neyse işte Java’da palindrome sayı programı:

package javaapplication_13;

public class Main {

    public static void main(String[] args) {

        int num = 121;
        int reverse  = 0;
        int temp=0;

        while(num > 0){
            temp = num % 10;
            num = num / 10;
            reverse = reverse * 10 + temp;
        }

        if(num== reverse)
            System.out.println(num + " is a palindrome num");

        else
            System.out.println(num + " is not a palindrome num");
    }
}

Nasıl ve Neden Debug Yapılır?

Debug yapmadan önce şu satırlara breakpoint koymanız gerekiyor. Genelde IDEnizin içerisinde bulunan text editor penceresinin kodunuzun bulunduğu satırın hemen sol tarafına tıkladığınızda kırmızı bir nokta belirir. İşte bunun adı breakpoint’tir. Bu breakpointler kodu debug yaparken o noktada programın run-time sürecinde bütün değerlerin tam o anki değerlerini ve değişimlerini gösterip yazdığımız koddaki hataları bulup algoritmamızı düzeltmemize veyahut anlamadığımız bir kod bileşenin akışını gözlemlememize yardım eder. Her ne kadar şimdiye kadar hep debug yapmaktan yakınsam da IDE programlarının en sevdiğim özelliğidir🙂 Ben şu an NetBeans kullanıyor bu örnekleri yazarken ama gnelde bütün IDElerde olay aynıdır. breakpoint’leri eklersiniz, sonrasında üst kısımdaki File menüsünden Debug seçeneğine tıklayıp Step Into seçeneğinin kısayolunu kullanın. Sonrasında programınızın akışını kodun gidişatına göre izleyebilir, kodunuzun içerisinde atadığınız değerlerin değişimlerinin hangi iterasyonlarda yanlış olduğunu görebilirsiniz.

Neyse benim yukarıda paylaştığım kod içinşu satılara breakpoint koymanız yeterli:

        while(num > 0){
temp = num % 10;
num = num / 10;
reverse = reverse * 10 + temp;

Sonrasında Step Into komutunu çalıştırdığınızda  kodun akışı aşağıdaki gibi gözlemlenebiliyor:

Önemli Not: Aşağıda 16 adet ekran alıntısı bulunmakta, ve muhtemelen bu sayfa içerisinde boyutu küçüldüğü için incelemesi zor olacaktır. ctrl tuşuna basılı tutup tıkladığınızda yeni sekmede daha büyük görünecektir. Ekran alıntılarını öyle de inceleyebilirsiniz. WordPress’in bu tür işler için bir slayt özelliği var mı bilmiyorum fakat muhtemelen wordpress.com bloglar için yoktur, eğer varsa lütfen yorum bırakarak bu konuda yardım edin🙂 Her ne kadar ben sizin için ekran alıntılarını çekip burada paylaşmış olsam da benim önerim sizin de kendi bilgisayarınız da bu debug pratiğini gerçekleştirmenizdir.

2 Yorum

Filed under Java

2 responses to “Java 010: Palindrome Integers (with debugging)

  1. ceyrancı

    peki javada bi array içindeki tek veya çift sayıları nasıl bulabiliriz..?

    • Timur Aykut YILDIRIM

      Merhaba aşağıdaki linkteki yazımda array’in elementlerini yazdırmak için kullandığım ikinci for döngüsünü şöyle düzenlersek, her elementin yanına tek veya çift olduğunu yazdırabiliriz. Tek yapmamız gereken mod operatörünü kullanmak.

      _______for (int i=0; i<=9; i++){
      _______________if (store[i] % 2 != 0)
      ___________________System.out.println(store[i] + ": TEK SAYI");
      _______________else
      ___________________System.out.println(store[i] + ": ÇİFT SAYI");
      _______}

      https://timuraykutyildirim.wordpress.com/2011/12/27/java-009-array-basics/

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s