按照你的要求编写的,输出从0到max中用二进制表示和十进制表示都是回文数的Java程序如下:
import java.util.Scannerpublic class CCF {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in)
System.out.print("请输入一个整数:")
int max=sc.nextInt()
for(int i=0i<=maxi++){
String num = String.valueOf(i)
String num2=Integer.toBinaryString(i)
String reversenum=new StringBuffer(num).reverse().toString()
String reversenum2=new StringBuffer(num2).reverse().toString()
if(reversenum.equals(num) && reversenum2.equals(num2)){
System.out.println(i+"用二进制表示"+num2+"和十进制表示"+i+"都是回文数")
}
}
}
}
运行结果:
请输入一个整数:1000
0用二进制表示0和十进制表示0都是回文数
1用二进制表示1和十进制表示1都是回文数
3用二进制表示11和十进制表示3都是回文数
5用二进制表示101和十进制表示5都是回文数
7用二进制表示111和十进制表示7都是回文数
9用二进制表示1001和十进制表示9都是回文数
33用二进制表示100001和十进制表示33都是回文数
99用二进制表示1100011和十进制表示99都是回文数
313用二进制表示100111001和十进制表示313都是回文数
585用二进制表示1001001001和十进制表示585都是回文数
717用二进制表示1011001101和十进制表示717都是回文数
回文字符串是具有回文特性的字符串:即该字符串从左向右读,与 从右向左读都一样,比如:aabbaa,aba
知道这个思路之后,isPalindrome()这个方法中,入参为String s
当要判断的字符串长度<=1的时候,因为在main 主函数里面,有判断head对象不为空,当字符串长
度为0或者1的时候必是回文,返回true,所以第一行注释返回true
第二个判断,的charAT()是取索引处的字符与字符串最后的字符比较,当不等于的时候不是回文,
返回false,所以第二行的注释返回false
如果对回答满意,请点【采纳答案】,如果还有问题,请点【追问】
希望我的回答对您有所帮助,希望能采纳。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)