重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
package x;\x0d\x0aimport javax.swing.*;\x0d\x0apublic class X {\x0d\x0a public static void main(String[] args) { \x0d\x0a String s=(String)JOptionPane.showInputDialog(null,"请输入一个整数","输入对话框",JOptionPane.PLAIN_MESSAGE);\x0d\x0a Long m,n=Long.parseLong(s);\x0d\x0a System.out.println(n+"");\x0d\x0a n=Math.abs(n);\x0d\x0a m=n/10;\x0d\x0a int i=1;\x0d\x0a while(m0){i=i*10;m=m/10;}\x0d\x0a while(n0)\x0d\x0a {\x0d\x0a if(n/i==n%10)\x0d\x0a {n=n%i;n=n/10;i=i/100;}\x0d\x0a else\x0d\x0a break;\x0d\x0a }\x0d\x0a if(n==0)\x0d\x0a System.out.println("回文数");\x0d\x0a else\x0d\x0a System.out.println("不是回文数");\x0d\x0a } \x0d\x0a}\x0d\x0a\x0d\x0a看下这个吧!自己改改
目前成都创新互联公司已为上千多家的企业提供了网站建设、域名、网站空间、网站运营、企业网站设计、凉山州网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
按照你的要求编写的,输出从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=0;i=max;i++){
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都是回文数
package x; import javax.swing.*; public class X { public static void main(String[] args) { String s=(String)JOptionPane.showInputDialog(null,"请输入一个整数","输入对话框",JOptionPane.PLAIN_MESSAGE); Long m,n=Long.parseLong(s);
for(inti=10;i
回文数"是一种数字。如:98789, 这个数字正读是98789,倒读也是98789,正读倒读一样,所以这个数字就是回文数。
定义:一个回文数,它同时还是某一个数的平方,这样的数字叫做平方回数。例如:121。 100 以上至1000以内的平方回数只有3个,分别是:121、484、676。 其中,121是11的平方。
你在调用 s1.reverse(); 的时候,同时把 s1 自己也给反转了,然后这个方法返回 s1 的引用。所以 s1 和 s2 实际上指向的是同一个 StringBuffer 对象,内部的字符串自然也是一样的。
这样改:
public static void main(String[] args)
{
System.out.println("请输入一串数字:");
Scanner sc=new Scanner(System.in);
String s=sc.nextLine();
StringBuilder s1=new StringBuilder(s);
s1.reverse();
if(s1.toString().equals(s))
System.out.println("是回文数 ");
else
System.out.println("不 是回文数 ");
}
而且推荐单线程下使用 StringBuilder,它的方法因为没有加同步锁,所以效率比 StringBuffer 要高。