Java回文问题

2017-05-20  本文已影响0人  木栈桥上

Java判断字符串是否是回文有很多种方法,今天我列出其中的三种方法:

public void hui1(String a){   //利用StringBuffer将字符串倒置来判断
    StringBuffer c=new StringBuffer(a);
    c=c.reverse();
    if(a.equals(c.toString()))
    {
        System.out.println("是回文");
    }
    else System.out.println("不是回文");
    int count=0;
    for(int i=0;i<a.length();i++){
        if(a.charAt(i)==c.charAt(i)) count++;
        
    }
    if(count==a.length()) System.out.println("是");
    else System.out.println("否");
}
public void hui2(String a){     //利用String转换成char来判断
    String b=a;
    int j=b.length()-1;
    int count=0;
    for(int i=0;i<a.length();i++){
        if(a.charAt(i)==b.charAt(j)){    //将字符串转换成字符一个一个来比较,如果相等count加一,最后和字符串的长度比较,如果相等则该字符串是回文
            j--;
            count++;
        }
        else 
            {
            System.out.println("否");
            return ;
            }
    }
    if(count==a.length()) System.out.println("是");
}
public void hui3(String a){      //对字符串第一个字符和最后一个字符进行比较,然后第二个和倒数第二个……比较下去最后count如果等于字符串长度则是回文
    int count=0;
    for(int i=0;i<a.length();i++){
        if(a.charAt(i)==a.charAt(a.length()-1-i)){
            count++;
        }
        else{
            System.out.println("否");
            return ;
        }
    }
    if(count==a.length()) System.out.println("是");
}
上一篇下一篇

猜你喜欢

热点阅读