java编写回文数

Python018

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都是回文数

Scanner in = new Scanner(System.in)

System.out.println("请输入一个整数N=:")

int input = in.nextInt()

int i = 0

int sum = 0

int record=input

while(true){

i = input%10

sum =sum*10+i

input /= 10

if(input==0) break

}

if(sum==record)System.out.println("是回文")

else System.out.println("不是回文")

Java语言判断一个字符串是否回文可以通过下面的函数进行判断:

import java.util.Scanner

public class huiwen

{public static void main(String args[])

{Scanner sca=new Scanner(System.in)

String str=sca.nextLine()

int a=str.length()

int middle=a/2,i=3

//char c1=(char) a,c2=(char) a

for(i=0i<middle&&str.charAt(i)==str.charAt(a-1-i)i++)

{}

if(i<middle)

System.out.println(str+"不是回文")

else

System.out.println(str+"是回文")}}

扩展资料:

c/c++判断一个字符串是否回文的方法:

#include <iostream>

#include <string>

using namespace std

int main()

{string strint i,j,lint flag = 1

while (cin >>str)

{ l = str.length()for (i = 0,j = l-1i <= ji++,j--)

{ if (str[i] != str[j])

{ flag = 0break}}

if (flag)

cout <<"YES" <<endl

else

cout <<"NO" <<endl

flag = true}

return 0}

参考资料:百度百科-回文串