第二周 第六天 七月七日
编写判断回文数字的方法,并调用测试
package chao; import java.util.Scanner; public class huiwenfangfa { public class Method09 { public static void main(String[] args) { long num= 0; Scanner sc = new Scanner(System.in); do { System.out.print("请输入一个正整数:"); num = sc.nextLong(); if(num<1) { System.out.println("您的输入有误!!!!!!!请重新输入!"); } } while (num<1); String str =""; str=isPalindromeNumber(num)? "是回文数":"不是回文数"; System.out.println(str); } public static boolean isPalindromeNumber(long num) { int i=0; long temp = num; String str=""; String str1=""; //判断是几位数 do { temp= temp/10; i++; } while (temp!=0); //如果是否是偶数位 if (i%2==0) { for(int j=0;j<(i/2);j++) { long sum = (num/(long)(Math.pow(10, j)))%10; //把整数的前半部分从前到后以String类的形式拼接 str=str+sum; } for(int j=(i-1);j>=(i/2);j--) { long sum = (num/(long)(Math.pow(10, j)))%10; //把整数的后半部分从后到前以String类的形式拼接 str1=str1+sum; } if (str.equals(str1)) { return true; } } //判断是否是奇数位 else if (i%2==1) { for(int j=0;j<(i/2);j++) { long sum = (num/(long)(Math.pow(10, j)))%10; //把整数的前半部分从前到后(不拼接整数中间那个数)以String类的形式拼接 str=str+sum; } for(int j=(i-1);j>(i/2);j--) { long sum = (num/(long)(Math.pow(10, j)))%10; //把整数的后半部分从后到前(不拼接整数中间那个数)以String类的形式拼接 str1=str1+sum; } if (str.equals(str1)) { return true; } } return false; } } }