判断一个字符串是不是字符串,主要是要利用循环逐步判断。然后有一个先决条件,就是字符串的长度在0和1时,不需要判断,而长度大于一的话,则需要将字符串存入数组,然后进行比较,为了便于判断,我将其分为奇数和偶数两个不同的情况,从而利于判断,但只利用了递推,递推的版本会在下次的编辑加入。
源代码:
package project1;
import java.util.Scanner;
public class huiwen {
static Scanner sc=new Scanner(System.in);
public static void main(String args[]){
boolean flag=false;
String s= new String();
char[] a=new char[100];
s=sc.nextLine();
if(s.length()==0||s.length()==1)
{flag=true;}
if(s.length()>1)
{
for(int i=0;i<s.length();i++)
{
a[i]=s.charAt(i);
}
if(s.length()%2==0)
{
int k=0;
flag=true;
while(flag==true&&k<=((s.length()-2)/2))
{
if(a[k]==a[s.length()-1-k])
{k=k+1;}
if(a[k]!=a[s.length()-1-k])
{flag=false;break;}
}
}
if(s.length()%2==1)
{
int j=0;
flag=true;
while(flag==true&&j<((s.length()-1)/2))
{
if(a[j]==a[s.length()-1-j])
{j=j+1;}
if(a[j]!=a[s.length()-1-j])
{flag=false;break;}
}
}
}
if(flag==true)
{System.out.print("是回文串");}
if(flag==false)
{System.out.print("不是回文串");}
}
}