📄 palindromenumber.java
字号:
import java.io.*;
/**
*
* 找出从0到MAX中所有二进制表示和十进制表示都是回文数的整数。
*
* @version 19:30 4 Oct 2006
*
* @author dy
*
*/
public class PalindromeNumber {
/**
* 判断一个字符串正读和反读是否相同。
*
* @param str
* 任一字符串
* @return 该字符串正读和反读是否相同
*/
private static boolean isPalindromeString(String str) {
int length = str.length();
for (int i = 0, j = length - 1; i < j; i++, j--) {
if (str.charAt(i) != str.charAt(j)) {
return false;
}
}
return true;
}
/**
* 判断输入的整数的十进制表示,二进制表示是否是回文数。
*
* @param number
* 任一整数
* @return 是否是回文数
*/
public static boolean isPalindromeNumber(int number) {
if (isPalindromeString(Integer.toString(number))
&& isPalindromeString(Integer.toBinaryString(number))) {
return true;
}
return false;
}
/**
* 输入一个整数max,程序将输出从0到max中用二进制表示和十进制表示都是回文数的整数
*/
public static void main(String[] args) {
int max = -1;
System.out.println("请输入一个整数max,程序将输出从0到max中用二进制表示和十进制表示都是回文数的整数:");
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
try {
max = Integer.parseInt(in.readLine());
} catch (Exception e) {
e.printStackTrace();
}
for (int i = 0; i < max; i++) {
if (PalindromeNumber.isPalindromeNumber(i)) {
System.out.println(i + " " + Integer.toBinaryString(i));
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -