回文数

来源:互联网 发布:美国财政支出数据 编辑:程序博客网 时间:2024/05/21 14:06
回文数增强版
题目:
如果把某个数的各个数字按相反的顺序排列,得到的数和原来的数相同,则这个数就是“回文数”。譬如 123454321 就是一个回文数。
问题:
求用十进制、二进制、八进制表示都是回文数的所有数字中,大于十进制数 10 的最小值。
思路:
1、数字转换为字符串
2、字符串翻转
3、数字的进制转换
难点:进制转换与字符串翻转
实现代码:
public static void main(String[] args) {// TODO Auto-generated method stubint x=11;for(;;) {//十进制String str1 = String.valueOf(x);StringBuffer str2 = new StringBuffer(str1).reverse();//System.out.println(str1+"    "+str2);//二进制String str3 = Integer.toBinaryString(x);StringBuffer str4 = new StringBuffer(str3).reverse();//System.out.println(str3+"    "+str4);//八进制String str5 = Integer.toOctalString(x);StringBuffer str6 = new StringBuffer(str5).reverse();//System.out.println(str5+"    "+str6);if(str1.equals(str2.toString())&&str3.equals(str4.toString())&&str5.equals(str6.toString())) {System.out.println(x);break;}else x=x+2;}}