回文java
A. java绋嫔簭銆傚瓧绗︿覆鍒ゆ柇鏄钖︿负钬滃洖鏂団
鏂规硶鏀逛负
static boolean isPalindrome(String str) {//鍒ゆ柇瀛楃︿覆鏄钖︿负钬滃洖鏂団
StringBuffer buf = new StringBuffer(str).reverse();
return buf.toString().equals(str);
}
B. java编写回文数
按照你的要求编写的,输出从0到max中用二进制表示和十进制表示都是回文数的Java程序如下:
importjava.util.Scanner;
publicclassCCF{
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
System.out.print("请输入一个整数:");
intmax=sc.nextInt();
for(inti=0;i<=max;i++){
Stringnum=String.valueOf(i);
Stringnum2=Integer.toBinaryString(i);
Stringreversenum=newStringBuffer(num).reverse().toString();
Stringreversenum2=newStringBuffer(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都是回文数
C. JAVA中的回文是什么一回是
"回文数"是一种数字.如:98789, 这个数字正读是98789,倒读也是98789,正读倒读一样,所以这个数字
就是回文数.
任意某一个数通过以下方式相加也可得到
如:29+92=121 还有 194+491=685,586+685=1271,1271+1721=2992
不过很多数还没有发现此类特征(比如196,下面会讲到)
另外个别平方数是回文数
1的平方=1
11的平方=121
111的平方=12321
1111的平方=1234321
。
。
。
。
依次类推
3×51=153
6×21=126
4307×62=267034
9×7×533=33579
上面这些算式,等号左边是两个(或三个)因数相乘,右边是它们的乘积。如果把每个算式中的“×”和“=”去掉,那么,它们都变成回文数,所以,我们不妨把这些算式叫做“回文算式”。还有一些回文算式,等号两边各有两个因数。请看:
12×42=24×21
34×86=68×43
102×402=204×201
1012×4202=2024×2101
不知你是否注意到,如果分别把上面的回文算式等号两边的因数交换位置,得到的仍是一个回文算式,比如:分别把“12×42=24×21”等号两边的因数交换位置,得到算式是:
42×12=21×24
这仍是一个回文算式。
还有更奇妙的回文算式,请看:
12×231=132×21(积是2772)
12×4032=2304×21(积是48384)
这种回文算式,连乘积都是回文数。
四位的回文数有一个特点,就是它决不会是一个质数。设它为abba,那它等于a*1000+b*100+b*10+a,1001a+110b。能被11整除。
六位的也一样,也能被11整除
还有,人们借助电子计算机发现,在完全平方数、完全立方数中的回文数,其比例要比一般自然数中回文数所占的比例大得多。例如11^2=121,22^2=484,7^3=343,11^3=1331,11^4=14641……都是回文数。
人们迄今未能找到五次方,以及更高次幂的回文数。于是数学家们猜想:不存在nk(k≥5;n、k均是自然数)形式的回文数。
在电子计算器的实践中,还发现了一桩趣事:任何一个自然数与它的倒序数相加,所得的和再与和的倒序数相加,……如此反复进行下去,经过有限次步骤后,最后必定能得到一个回文数。
这也仅仅是个猜想,因为有些数并不“驯服”。比如说196这个数,按照上述变换规则重复了数十万次,仍未得到回文数。但是人们既不能肯定运算下去永远得不到回文数,也不知道需要再运算多少步才能最终得到回文数。
D. java 一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位
按照你的要求编写的判断五位数是不是回文数的Java程序如下
importjava.util.Scanner;
publicclassHuiWenShu{
publicstaticvoidmain(String[]args){
System.out.println("请输入一个五位正整数");
Scannersc=newScanner(System.in);
intnumber=sc.nextInt();
if(number<10000||number>=100000){
System.out.println("输入的不是五位正整数!");
return;
}
inta=number/10000;
intb=number/1000%10;
intc=number/100%10;
intd=number/10%10;
inte=number%10;
if(a==e&&b==d){
System.out.println(number+"是回文数");
}else{
System.out.println(number+"不是回文数");
}
}
}
运行结果
请输入一个五位正整数
12321
12321是回文数
E. Java语言如何判断一个字符串是否回文
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=0;i<middle&&str.charAt(i)==str.charAt(a-1-i);i++)
{}
if(i<middle)
System.out.println(str+"不是回文");
else
System.out.println(str+"是回文");}}
(5)回文java扩展阅读:
c/c++判断一个字符串是否回文的方法:
#include <iostream>
#include <string>
using namespace std;
int main()
{string str; int i,j,l;int flag = 1;
while (cin >> str)
{ l = str.length(); for (i = 0,j = l-1; i <= j; i++,j--)
{ if (str[i] != str[j])
{ flag = 0;break; }}
if (flag)
cout << "YES" << endl;
else
cout << "NO" << endl;
flag = true;}
return 0;}
F. java 鐢ㄨ嚜瀹氢箟鏂规硶鍒ゆ柇锲炴枃
缁欎釜渚嫔瓙浣犲弬钥
importjava.util.Scanner;
/**
*鍒ゆ柇瀛楃︿覆鏄钖︽槸锲炴枃瀛楃︿覆
*@authoryoung
*
*/
publicclassHWStringTest{
publicstaticvoidmain(String[]args){
System.out.println("杈揿叆涓涓瀛楃︿覆:");
Scannerin=newScanner(System.in);
Stringstr=in.next();
StringBuffersb1=newStringBuffer();
sb1.append(str);
if(sb1.toString().equals(sb1.reverse().toString())){
System.out.println("璇ュ瓧绗︿覆鏄锲炴枃瀛楃︿覆銆");
}else{
System.out.println("璇ュ瓧绗︿覆涓嶆槸锲炴枃瀛楃︿覆銆");
}
}
}