您的位置:首页 > 其它

判断字符串是否为回文字符串

2017-04-10 21:49 78 查看

.1、回文的定义:“回文数”就是正读倒读都一样的整数。如奇数个数字:98789,这个数字正读是98789 倒读也是98789。偶数个数字3223也是回文数。字母 abcba 也是回文

package cn.haoge.demo;

import java.util.Scanner;

/**
 *类说明:判断字符串是否为回文字符串
 *作者:HAO
 *创建日期:2017-4-10 下午9:11:11
 */

public class Demo3 {

    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入字符串");
        String str=sc.next();
//        way1(str);
//        way2(str);
        
        way3(str);
    }
    //原字符串与反转之后的字符串进行比较
    private static void way3(String str) {
        StringBuffer sb=new StringBuffer(str);
        sb.reverse();
        String newstr=new String(sb);
        if(str.equals(newstr)){
            System.out.println("字符串为回文字符串");
        }else{
            System.out.println("字符串不是回文字符串");
        }
    }
    //方式二:将字符串转换为字符数组,截取对称的字符进行比较
    private static void way2(String str) {
        char[] charArray = str.toCharArray();//将字符串转换为字符数组
        boolean istrue=true;
        for(int i=0;i<charArray.length/2;i++){
            if(charArray[i]!=charArray[charArray.length-i-1]){
                istrue=false;
            }
        }
        if(istrue==true){
            System.out.println("输入的字符串为回文字符");
        }else{
            System.out.println("输入的字符串不是回文字符串");
        }
    }
    //方式一:将字符串倒置后逐一进行比较
    private static void way1(String str) {
        StringBuffer sb=new StringBuffer(str);
        sb.reverse();//将字符串进行反转
        
        int count=0;
        for(int i=0;i<str.length();i++){
            if(str.charAt(i)==sb.charAt(i)){//charAt(int i)返回字符串中指定位置的字符
                count++;
            }
        }
        
        if(count==str.length()){
            System.out.println("字符串为回文字符串");
        }else{
            System.out.println("字符串不是回文字符串");
        }
    }
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: