2015-02-09 100 views
-1

如果我正確地計算出用戶輸入的數字是否是迴文的公式(我也需要使用一個while循環)。我正在做數學嗎?當我嘗試輸入數據時,它只是坐在那裏,什麼都不做。這裏是代碼:如何判斷該數字是否是迴文中的編號

System.out.print("Enter the number you would like to be checked if it is a palindrome:"); 
int num = input.nextInt(); 
int rev = num % 10; 
int count = 1; 
int i = 0; 
int originalNum = num; 

while(count < 2) 
    rev = num % 10; 
    num = num/10; 
    i = i*10 + rev; 

    count = count + 1; 
if(originalNum == i) 
    System.out.println("The number you input is a palindrome."); 
else 
    System.out.println("The number you input is not a palindrome."); 
+3

Java不是Python。你當然錯過了一些大括號。目前,while循環只執行'rev = num%10;'這可能不是你想要的。 – 2015-02-09 17:45:59

+2

我聽起來更容易做一些像'Integer.toString(value).equals(new StringBuilder(Integer.toString(value))。reverse.toString())' – Jack 2015-02-09 17:48:50

+0

ZouZou我會用大括號來嘗試它,我猜,我也有從未在Python中編程過。 – Fyree 2015-02-09 17:51:06

回答

0

我做了一些更改code.Now,它的工作原理。

 int num = input.nextInt(); 
     int rev=0; 
     int i = 0; 
     int originalNum = num; 

     while(num!=0){ 
      rev = num % 10; 
      i = i*10 + rev; 
      num = num/10; 
     } 

      if(originalNum == i) 
       System.out.println("The number you input is a palindrome."); 
      else 
       System.out.println("The number you input is not a palindrome."); 
+0

感謝您的幫助(我不知道爲什麼這是由某人downvoted)! – Fyree 2015-02-09 18:39:34

1

See examples of palindrome detection at the Rosetta Code website

這是第一個列出的(即「非遞歸」解決方案)。你會,當然,必須先投你的電話號碼爲String,使用這一個:

public static boolean pali(String testMe){ 
    StringBuilder sb = new StringBuilder(testMe); 
    return testMe.equals(sb.reverse().toString()); 
} 
相關問題