2014-04-11 1 views
1

숫자가 palindrome인지 확인하기 위해 프로그램을 만들었지 만 이해할 수없는 경우 - n = 1이고 n/10 일 때 int = 1/10 = 0.1 = 0 그래서 루프가 멈춰야합니까? 그러나 1로 인쇄 한 다음 0으로 인쇄합니다. 어떻게 된거 야?숫자가 Palindrome인지 확인하기위한 논리가

import java.util.Scanner; 


public class Pallinnumber 
{ 
    public static void main(String[] args) 
    { 
     int y =reversenum(1234); 
     System.out.println(y); 
     Pallinnumber.Pallinnum(12); 
     Scanner s = new Scanner(System.in); 
     System.out.println("Enter the number"); 
     int x = s.nextInt(); 
     int z= reversenum(x); 
     System.out.println(z); 

} 

    public static int reversenum(int n) 
    { 
     int num=0; 
     while(n>0) 
     { 
      num = num*10; 
      num=num+n%10; 
      n=n/10; 
      System.out.println(n);  

     } 
    return num; 
    } 
public static boolean Pallinnum(int n) 
{ 
    if(n==reversenum(n)){ 
     System.out.println("It is a Pallindrome number"); 
     return true; 
    } 
    else 
     { 

      System.out.println("It is not an Pallindrome number"); 
      return false ; 

     } 
    } 

}

+2

1 단계 : 코드를 올바르게 입력하십시오. –

+0

이것은 펜과 종이 IMO를 사용하여 먼저 해결해야하는 종류의 프로그램입니다. 그러면 코드가 명확해질 것입니다. – Leo

+1

2 단계 : 숫자가 소수 자리수인지 확인하는 작업은 가장 쉽게 두 단계 프로세스로 간주됩니다. 먼저 숫자를 문자열로 변환합니다. 그런 다음 문자열이 대칭인지 확인하십시오. – dfeuer

답변

0

코드에 오류가 없습니다 : n1 때, 당신은가 누적 합계 (즉 num)에 n%10를 추가 한 후 n /= 10을한다. 이로 인해 num1과 같아집니다.

루프가 0으로 인쇄 될 때까지 num은 이미 1과 같습니다.

+0

나는 그것을 얻었다 Thanks !! –

0

int 산술이므로 1/10 = 0

0

기술적으로 말하면 솔루션이 완벽합니다.

시도해 봤어 System.out.println (1/10); 흥미롭게도, 그것도 0을 표시합니다. 그것의 모든 수학에 대해 & 컴파일러.

package univ; 
import java.util.Scanner; 


public class Pallinnumber 
{ 
    public static void main(String[] args) 
    { 

     Scanner s = new Scanner(System.in); 
     System.out.println("Enter the number"); 
     int x = s.nextInt(); 
     int z= reversenum(x); 
     System.out.println(z); 
     Pallinnum(z); 

} 

    public static int reversenum(int n) 
    { 
     int num=0; 
     while(n>0) 
     { 
      num = num*10; 
      num=num+n%10; 
      n/=10; 
     } 
    return num; 
    } 
public static boolean Pallinnum(int n) 
{ 
    if(n==reversenum(n)){ 
     System.out.println("It is a Pallindrome number"); 
     return true; 
    } 
    else 
     { 

      System.out.println("It is not an Pallindrome number"); 
      return false ; 

     } 
    } 
}