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+"是回文");}}
扩展资料:
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;}
参考资料:百度百科-回文串
public static void main(String[] args) {
// TODO Auto-generated method stub
//从键盘上输入一个字符串str
String str="";
System.out.println("请输入一个字符串:");
Scanner in=new Scanner(System.in);
str=in.nextLine();
//根据字符串创建一个字符缓存类对象sb
StringBuffer sb=new StringBuffer(str);
//将字符缓存中的内容倒置
sb.reverse();
//计算出str与sb中对应位置字符相同的个数n
int n=0;
for(int i=0;i<str.length();i++){
if(str.charAt(i)==sb.charAt(i))
n++;
}
//如果所有字符都相等,即n的值等于str的长度,则str就是回文。
if(n==str.length())
System.out.println(str+"是回文!");
else
System.out.println(str+"不是回文!");
}
}
这只是一种方法而已,仅供参考! 希望楼主用自己的思维写出高效的代码,与君共勉!!