当前位置: 代码迷 >> Java面试 >> Java面试有关问题之六十一
  详细解决方案

Java面试有关问题之六十一

热度:6711   发布时间:2013-02-25 21:27:06.0
Java面试问题之六十一
问题:请你编写一个方法来判断一个整数是否是一个守形数,如果是输出"YES",否则输出"NO"。要求尽可能地简单和快速。

答:代码如下:
import java.lang.Math;public class KeepFormatNumber {        public static String doJudge(int n) {                int sn =(int) Math.pow(n,2);                int len = countLength(n);                int times=1;                for(int i=0;i<len;++i){                        times*=10;                }                if((sn-(sn/times)*times)==n) return "YES";                else return "NO";        }        private static int countLength(int n) {                int len=0;                while(n!=0){                        n/=10;                        ++len;                }                return len;        }        public static void main(String[] args){                int n1 = 25;                int n2 = 125;                System.out.println("n1= "+n1+" result : "+KeepFormatNumber.doJudge(n1));                System.out.println("n2= "+n2+" result : "+KeepFormatNumber.doJudge(n2));        }}


代码运行结果:
Lab-Computer-0db2f6:JavaExercises labuser$ javac KeepFormatNumber.java
Lab-Computer-0db2f6:JavaExercises labuser$ java KeepFormatNumber
n1= 25 result : YES
n2= 125 result : NO
Lab-Computer-0db2f6:JavaExercises labuser$




  相关解决方案