DonanımHaber Mini sürüm 2 Ocak 2026 tarihi itibariyle kullanımdan kalkacaktır. Bunun yerine daha hızlı bir deneyim için DH Android veya DH iOS uygulamalarını kullanabilirsiniz.
Çö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.
< Resime gitmek için tıklayın >
< Bu mesaj bu kişi tarafından değiştirildi Kalkon -- 16 Ağustos 2020; 8:48:46 >
Bu mesaja 1 cevap geldi. Cevapları Gizle
< Resime gitmek için tıklayın >
Bu mesajda bahsedilenler: @Valkyrie14
< Resime gitmek için tıklayın >
< Bu ileti mini sürüm kullanılarak atıldı > Bu mesaja 2 cevap geldi. Cevapları Gizle
Bu mesaja 1 cevap geldi. Cevapları Gizle
Bu mesajda bahsedilenler: @vonderplanitz
< Resime gitmek için tıklayın >
< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesajda bahsedilenler: @Valkyrie14
public static void main(String[] args) {String str = new Scanner(System.in).next(); System.out.println(IntStream.range(0, str.length() / 2).noneMatch(i-> str.charAt(i) != str.charAt(str.length() - i - 1)) ? "Palindrom" : "Palindrom Degil");
}
Bu mesaja 1 cevap geldi. Cevapları Gizle
< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesajda bahsedilenler: @The_eXXe