java回文数基础代码 java回文是什么意思

用java求回文数,大神帮我改一下程序你在调用 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 要高 。
java编写回文数按照你的要求编写的,输出从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都是回文数
【java回文数基础代码 java回文是什么意思】99用二进制表示1100011和十进制表示99都是回文数
313用二进制表示100111001和十进制表示313都是回文数
585用二进制表示1001001001和十进制表示585都是回文数
717用二进制表示1011001101和十进制表示717都是回文数
java编程1000-3000回文数public class SimNum {
public SimNum() {
}
public static void main(String[] args) {
int sum = 0;
for(int i = 1000; i = 3000; i ++) {
if(SimNum.valid(i)){
sum ++;
System.out.println(i);
}
}
System.out.println("一共有" + sum + "个回文数");
}
public static boolean valid(int num) {
StringBuffer snum = new StringBuffer(num + "");
return snum.toString().equals(snum.reverse().toString());
}
}
java回文数 代码修改package JOptionPane;
import javax.swing.JOptionPane;
/**
* @author songml
*
*/
public class huiwen1 {
/**
* @param args
*/
public static void main(String[] args) {
//bFlg为true的时候,显示对话框
//bFlg为false的时候,不显示对话框,程序结束
boolean bFlg = true;
while (bFlg) {
String inputValue = https://www.04ip.com/post/JOptionPane.showInputDialog("请输入一个五位整数");
//什么都没有输入的时候的处理
if ("".equals(inputValue) ){inputValue ="https://www.04ip.com/post/0";}
//点击"取消"时候的处理
if (null == inputValue ) {bFlg = false;continue;}
//五位数判断
if (inputValue.length() !=5) {
JOptionPane.showMessageDialog(null, "请输入一个五位数");
//跳出本次(上面的那个)while , 目的是不运行下面的回文数判断

推荐阅读