2017-04-20 78 views
-3

我是Java新手,我需要完成此程序來檢查整數是否爲迴文。請幫忙。如何檢查數字是否是Java中的迴文數?

public static void main(String args[]){ 

    System.out.println("Please enter an integer : "); 
    int integer = new Scanner(System.in).nextInt(); 

    if(isPalindrome(integer)){ 
     System.out.println(integer + " is a palindrome"); 
    }else{ 
     System.out.println(integer + " is not a palindrome"); 
    }  

} 
+8

我投票結束這個問題作爲題外話,因爲這是一個家庭作業轉儲沒有任何effor顯示由OP自己解決任務。 – SomeJavaGuy

+0

[檢查字符串迴文]可能的重複(http://stackoverflow.com/questions/4138827/check-string-for-palindrome) –

+0

這個代碼有什麼問題? –

回答

3
public static boolean isPalindrome(int integer) { 
    int palindrome = integer; 
    int reverse = 0; 

    // Compute the reverse 
    while (palindrome != 0) { 
     int remainder = palindrome % 10; 
     reverse = reverse * 10 + remainder; 
     palindrome = palindrome/10; 
    } 

    // The integer is palindrome if integer and reverse are equal 
    return integer == reverse; // Improved by Peter Lawrey 

} 

先進的解決方案:(由Shadov提供)

public static boolean isPalindrome(int integer) { 
    String intStr = String.valueOf(integer); 
    return intStr.equals(new StringBuilder(intStr).reverse().toString()); 
} 

參考:http://www.java67.com/2012/09/palindrome-java-program-to-check-number.html#ixzz4emXfiD7V

請不要只是把問題沒有你的工作下一次。

+0

避免回答主題問題。這又如何與其他問題有所不同呢? –

+2

爲什麼不'返回整數==反向;'? –

+0

好的,彼得。 – Sky

1
public static boolean isPalindrome(int number) { 
    int palindrome = number; // copied number into variable 
    int reverse = 0; 

    while (palindrome != 0) { 
     int remainder = palindrome % 10; 
     reverse = reverse * 10 + remainder; 
     palindrome = palindrome/10; 
    } 

    // if original and reverse of number is equal means 
    // number is palindrome in Java 
    if (number == reverse) { 
     return true; 
    } 
    return false; 
} 

來源:http://www.java67.com/2012/09/palindrome-java-program-to-check-number.html#ixzz4emXfiD7V

但是你需要清楚地不是在這裏蓋了功課的問題。

+0

請不要回答作業問題 – Oswald

+0

你們(@sky和@Srishti)如何在同一時間回答:D – dip