Çözümünüz için teşekkür ederim. Yazdığınız kod için palindrom olmayan sayı girildiğinde "..palindrom değil","..palindrom" yazıyor. Ben de "break;" ve en aşağıdaki if bloğunu silerek, ondan önceki if bloğuna else ekleyerek yeniledim ve çalışıyor. Kolay gelsin.
public class Palindrome {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
Integer palindromSayi1 = scan.nextInt(); scan.close(); int yedek = palindromSayi1;
while(palindromSayi1.toString().length() > 1) {
int kalan = palindromSayi1 % 10;
palindromSayi1 -= kalan;
int ilk = palindromSayi1 / (int) Math.pow(10, palindromSayi1.toString().length()-1);
palindromSayi1 -= ilk * (int) Math.pow(10, palindromSayi1.toString().length()-1);
palindromSayi1 /= 10;
if(kalan==ilk) {
System.out.println(yedek+" sayısı palindrom.");
}else { System.out.println(yedek+" sayısı palindrom değil."); } }
Aynen o kısmı atlamışım dediğiniz gibi de olabilir ama o durumda birçok kez palindrom diye yazacaktır o nedenle an mantıklı çözüm if bloğunun içine palindromSayi1 = yedek şeklinde ekleme yapmak herhalde en son halini ekliyorum
Evet ama dillerin genellikle kullanım alanları birbirinden farklı olabiliyor. Yukarıdaki problem Python ile daha basit şekilde de yazılabilir. Zaten o örneği de Java'da kendimi bir aşama daha katetmek için sormuştum. İlginiz için teşekkür ederim .
Yukardaki 20+ satırlık çözüm, palindrom problemi için fazla karışık. Java 8 ile fonksiyonel stilde veya Java 7 ile rekürsif stilde cok daha açık çözüm üretilebilir. Örneğin altta rekürsif stilde çözüm hem cok net hem de sadece sayı değil sözcüklerde de palindromu test edebiliyor.
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.