java编写回文数

java编写回文数,第1张

按照你的要求编写的,输出从0到max中用二进制表示和十进制表示都是回文数的Java程序如下:

import java.util.Scanner

public 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

如果对回答满意,请点【采纳答案】,如果还有问题,请点【追问】

希望我的回答对您有所帮助,希望能采纳。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11599571.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存