精华内容
下载资源
问答
  • 在本篇文章里小编给各位整理的是一篇关于Java判断字符串回文的代码实例内容,需要的朋友们可以跟着学习参考下。
  • java判断回文字符的方法

    千次阅读 2020-03-20 22:49:31
    首先介绍下什么是回文字符回文字符就是关于中心对称的字符,比如 测试下

    首先介绍下什么是回文字符串,回文字符串就是关于中心对称的字符串,比如字符串ABCCBA、QWEWQ等等,都是回文字符串
    思路一:将一个字符串分为左右两部分,然后将左部分从位置0开始遍历,而右部分则从尾部开始遍历,然后进行比较,如果出现不等的情况则不是回文字符串,如果遍历完都是相等的则是回文字符串,下面是代码展示

    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.io.IOException;
    public class Main{
    	public static void main(String[] args) throws IOException{
    		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    		StringBuilder strB=new StringBuilder(br.readLine());
    		System.out.println("输出的字符串是否为回文字符串:"+judgment(strB));
    	}
    	public static boolean judgment(StringBuilder strB){
    		//n为每部分的长度
    		int n=strB.length()/2;
    		String strLeft=strB.substring(0,n);
    		String strRight;
    		if(strB.length()%2==0){
    			strRight=strB.substring(n);
    		}else{
    			strRight=strB.substring(n+1);
    		}
    		//左部分从0开始遍历,右部分从尾部开始遍历
    		for(int i=0;i<n;i++){
    			if(strLeft.charAt(i)!=strRight.charAt(n-i-1)){
    				return false;
    			}
    		}
    		return true;
    	}
    }
    

    思路二:利用StringBuilder类的reverse()方法,将字符串右边部分进行反转,如果左右两部分相等则为回问字符串,代码如下:

    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.io.IOException;
    public class Main2{
    	public static void main(String[] args) throws IOException{
    		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    		StringBuilder strB=new StringBuilder(br.readLine());
    		System.out.println("输出的字符串是否为回文字符串:"+judgment(strB));
    	}
    	public static boolean judgment(StringBuilder strB){
    		int n=strB.length()/2;
    		StringBuilder strLeft=new StringBuilder(strB.substring(0,n));
    		StringBuilder strRight=new StringBuilder();
    		if(strB.length()%2==0){
    			strRight=new StringBuilder(strB.substring(n));
    		}else{
    			strRight=new StringBuilder(strB.substring(n+1));
    		}
    		strRight.reverse();
    		if(String.valueOf(strLeft).equals(String.valueOf(strRight))) return true;
    		else return false;
    	}
    }
    
    展开全文
  • Java判断回文串

    2017-02-07 09:44:02
    import java.nio.file.DirectoryStream.Filter;import javax.swing.JOptionPane;public class PalindromeIgnoreNonAlphanumeric {public static void main(String[] args) { // TODO Auto-generated method stub

    import java.nio.file.DirectoryStream.Filter;

    import javax.swing.JOptionPane;

    public class PalindromeIgnoreNonAlphanumeric {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String s=JOptionPane.showInputDialog("Enter a string:");
        String output="Ignoring nonalphanumeric characters,\nis"
                        +s+"a palindrome?"
                        +isPalindrome(s);
        JOptionPane.showMessageDialog(null, output);
    }
    //判读是否是回文串
    public static boolean isPalindrome(String s){
        String s1=filter(s);//去除非字母和数字
        String s2=reverse(s1);//字符串反转
        return s2.equals(s1);
    }
    public static String filter(String s){
        StringBuffer strBuf=new StringBuffer();
        for(int i=0;i<s.length();i++)
        {
            if(Character.isLetterOrDigit(s.charAt(i))){
                strBuf.append(s.charAt(i));
            }
        }
        return strBuf.toString();
    }
    public static String reverse(String s){
        StringBuffer stringBuffer=new StringBuffer(s);
        stringBuffer.reverse();
        return stringBuffer.toString();
    }
    

    }

    展开全文
  • java判断回文字符几种简单的实现

    万次阅读 多人点赞 2017-10-18 00:49:49
    java判断回文字符几种简单的实现

    11年it研发经验,从一个会计转行为算法工程师,学过C#,c++,java,android,php,go,js,python,CNN神经网络,四千多篇博文,三千多篇原创,只为与你分享,共同成长,一起进步,关注我,给你分享更多干货知识!

    java判断回文字符串几种简单的实现:


    1.将字符串倒置后逐一比较,实现如下:

    public class HuiWenTest {  
    /** 
     * @SERLIN 
     */  
    public static void main(String[] args) {  
        String str = "";  
        System.out.println("请输入一个字符串");  
        Scanner input = new Scanner(System.in);  
        str = input.next();  
      
        StringBuffer sb = new StringBuffer(str);  
        sb.reverse();// 将Str中的字符串倒置  
      
        int count = 0;  
        for (int i = 0; i < str.length(); i++) {  
            if (str.charAt(i) == sb.charAt(i)) {  
                count++;  
            }  
        }  
        if (count == str.length()) {  
              
            System.out.println("此字符串是一个回文字符串");  
        } else {  
            System.out.println("此字符串不是一个回文字符串");  
        }  
    }  


    2.将字符串倒置后创建新字符串直接比较,实现如下:

    public class HuiWenTest2 {  
        /** 
         * @SERLIN 
         */  
        public static void main(String[] args) {  
            System.out.println("请输入一个字符串");  
            Scanner input = new Scanner(System.in);  
            String str = input.next();  
            StringBuilder sb=new StringBuilder(str);  
            sb.reverse();//将str倒置的方法  
            String newStr=new String(sb);  
            if(str.equals(newStr)){  
                System.out.println(str+"是回文字符串");  
            }else{  
                System.out.println(str+"不是回文字符串");  
            }  
        }  
    }  


    3.使用截取字符串的方式比较,实现如下:

    public class HuiWenTest3 {  
        /** 
         * @SERLIN 
         */  
        public static void main(String[] args) {  
            System.out.println("请输入一个字符串");  
            Scanner input = new Scanner(System.in);  
            String str = input.next();  
            int count = 0;  
            for (int i = 0; i < str.length() / 2; i++) {  
            if ((str.substring(i, i + 1)).equals(str.substring(str.length() - 1- i, str.length() - i))) {  
                    count++;  
                }  
            }  
            if (count == str.length() / 2) {  
                System.out.println("是回文字符串");  
            }else{  
                System.out.println("不是回文字符串");  
            }  
        }  
    }  


    4.判断回文数字(判断纯数字),实现如下

    public class HuiWenNum {  
        /** 
         * @SERLIN 
         */  
        public static void main(String[] args) {  
            int n;  
            System.out.println("请输入一个整数:");   
            // 如果结果为回文数,跳出循环  
            while (true) {  
                Scanner InpuNum = new Scanner(System.in);  
                n = InpuNum.nextInt();  
                if (isHuiWen(n)) {  
                    System.out.println(n + "是回文数!");  
                    break;  
                } else {  
                    System.out.println(n + "不是回文数!");  
                }  
            }  
        }  
      
      
        // 判断的数字是否是回文数  
        public static boolean isHuiWen(int n) {  
            int m = reverse(n);  
            if (m == n) {  
                return true;  
            } else {  
                return false;  
            }  
        }  
      
      
        // 将输入的数字进行倒置,以便进行判断是否是回文数  
        public static int reverse(int n) {  
            int temp = 0;// 临时变量  
            int j = 0;// 倒置后的数字  
            temp = n;// 将输入的数字赋值给临时变量  
            while (temp != 0) {  
                j = j * 10 + temp % 10;  
                temp /= 10;  
            }  
            return j;  
        }  
    }  

    ·回文数的定义:

    对于非负数 其左右两边完全相同 则是回文。 e.g: 121 11 等

    对于负数 其绝对值左右两边完全相同 则是回文。 e.g: -121 -11 等

    设计一个算法判断给定的数是否为回文数,如果是,输出true 反之 输出false;

    c++代码:

    #include <iostream>  
    #include <math.h>  
      
    using namespace std;  
      
    bool isPadlindrome(int n)  
    {  
        // 如果是int类型的最小值 显然不是回文数  
        if (n == INT_MIN)  
        {  
            return false;  
        }  
      
        // 绝对值  
        n = abs(n);  
      
        int tmp = 1;  
      
        // 将tmp位数变为与n一致  
        while(n / tmp >= 10) // 防止tmp溢出  
        {  
            tmp *= 10;  
        }  
      
        // n = 0 表示所有位比较完  
        while(n != 0)  
        {  
            // 最高位 != 最低位  
            if (n / tmp != n % 10)  
            {  
                return false;  
            }  
      
            // 最高位 = 最低位 去掉最高位 去掉最低位  
            // 继续比较  
            n = (n % tmp) / 10;  
            tmp /= 100;  
        }  
      
        return true;  
    }  
      
    int main(void)  
    {  
        int n;  
        cin>>n;  
      
        if (isPadlindrome(n))  
        {  
            cout<<"true"<<endl;  
        }  
        else  
        {  
            cout<<"false"<<endl;  
        }  
      
        return 0;  
    }  

    展开全文
  • Java判断一个回文串

    千次阅读 2019-03-14 15:57:31
    1.如果回文串是一个纯数字的数: public static void main(String[] args) { System.out.println(isHuiWen(3245423)); } private static boolean isHuiWen(int target) { int temp=target; ...

    1.如果回文串是一个纯数字的数:    

     public static void main(String[] args) {
            System.out.println(isHuiWen(3245423));
        }
    
     private static boolean isHuiWen(int target) {
    
            int temp=target;
            int j=0;
    
            while(temp!=0){
             j=j*10+temp%10;
             temp=temp/10;
            }
            if(j==target){
    
               return true;
             }else{
               return false;
             }
        }

    2. 如果回文串是一个字符串

      最简单的实现方法就是:将原字符串反转,将反转后的字符串和原字符串对比,如果相同则为回文,否则不是。代码实现如下:

    public static void main(String[] args) {
           System.out.println(isHuiWen("abababa"));
    
        }
    
     private static boolean isHuiWen(String string) {
            StringBuilder stringBuilder = new StringBuilder(string).reverse();
            String newString = new String(stringBuilder);
    
            if (newString.equals(newString)) {
                return true;
            } else {
                return false;
            }
    
        }

    还有一种方法:就是将原字符串的子区间对比,第i个字符和第length()-1-i个字符如果全部相等,则为回文,否则不是。

    public static void main(){
      System.out.println(isHuiWen("sbcdcbs"));
    }
    
     private static boolean isHuiWen(String target){
            int count=0;
            for(int i=0;i<target.length()/2;i++){
                if(target.substring(i,i+1).equals(target.substring(target.length()-1-i,target.length()-i))){
                    count++;
                }else{
                    break;
                }
            }
            if(count==target.length()/2){
                return true;
            }else{
                return false;
            }
    
        }

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • Java回文串判定

    2020-10-02 22:29:15
    输入一串字符(长度小于100),判断该串字符是否是回文串(正序读与逆序读内容相同)。 Input 输入一串字符(长度小于100)。 Output 若该串字符是回文串输出“yes",否则输出”no“。 Sample Input asdfgfdsa ...
  • java判断回文字符的几种方法

    万次阅读 多人点赞 2014-07-22 16:45:43
    java判断回文字符几种简单的实现: 1.将字符倒置后逐一比较,实现如下: public class HuiWenTest { /** * @SERLIN */ public static void main(String[] args) { String str = ""; System.out....
  • Java实现最长回文串

    万次阅读 多人点赞 2019-07-21 15:54:04
    此处,首先枚举出回文串的中心位置,然后,再在该位置上分别向左和向右扩展,记录并更新得到的最长回文串的长度。 package com.liuzhen.string_1; import java.util.Scanner; public class String...
  • java —— 回文串字符

    2021-01-15 19:22:36
    java —— 回文串字符 题目详情 “xyzyx”是一个回文字符串,所谓回文字符串就是指正读反读均相同的字符序列, 如“席主席”、“记书记”、“aha”和“ahaha”均是回文,但“ahah”不是回文。 输入一行字符(仅包含...
  • 验证回文串java实现

    2020-04-27 18:06:59
    给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的回文串。 示例 1: 输入: "A man, a plan, a canal: Panama" 输出: true 示例 2: ...
  • java模拟栈实现回文串判断,适合新手学习!
  • 判断回文串-Java

    2021-03-21 10:10:41
    判断回文串-Java 验证回文串。编写程序,验证一个字符串是否为回文串:是否从前读它和从后读它都是一样的。例如,mom,dad是回文串。该程序接收用户输入的字符串,判断是否为回文串,然后将判断的结果输出。在验证...
  • java回文串判断

    2013-11-05 10:22:55
    可以判断回文串。可以忽略大小写和逗号句号等问题。并且以框体的形式显示
  • java判断回文的两种方法

    万次阅读 2018-03-17 19:51:55
    第一种:面向过程:从字符Str.length()/2开始向两端移动进行对比 ,boolean用来确定一个返回值判断是否回文Scanner input = new Scanner(System.in); try{ System.out.println("Enter a three-digit ...
  • 通过==String.valueOf()方法把整数转换为字符,再用toCharArray()==方法将字符转化为字符数组,通过数组的第一个和最后一个比较是否相等判断回文。 public static boolean isPalindrome(int x) { if(x < 0)...
  • 回文串:一个字符串如果从前往后读和从后往前读都一样,那么该字符串就被称之为”回文串“,例如:上海自来水来自海上等等。 二、算法设计 对于一个字符串,先判断该字符串的第一个字符和最后一个字符是否相等,如果...
  • JAVA算法:回文字符相关问题详解(回文字符总结) Q1. 编写一个工具方法判断给定的字符是否为回文字符 例如:给定一个字符“aabbaa”,判断该字符是否为回文字符。 算法设计如下: /* * 给定...
  • java 判断回文数详解

    2020-04-13 15:33:38
    1,如果是一个数字类型,比如int类型,我们可以这样判断 1 private static boolean palindromic1(int num) { 2 List<Integer> bit = new ArrayList<>(); 3 while (num != 0)...
  • Java判断是否为回文字符

    千次阅读 2019-08-03 09:55:28
    输入一段字符序列,字符可能包括字母,数字,标点符号等类型字符,在判断该字符序列是否为回文时,只需判断字母和数字类型,其它类型自动忽略。 如:“A man, a plan, a canal: Panama” 是一段回文字符 ...
  • java判断回文数字Here you will learn about number palindrome in java. 在这里,您将了解Java中的数字回文。 A number is called palindrome if it is equal to its reverse. 如果数字等于回文,则称为回文数。...
  • 要求2): 是回文串输出true,不是输出false; 完整代码如下: import java.util.Scanner; public class Stack { char [] ch; public Stack(){ ch = new char [0]; } //压栈 -添加元素 public void
  • 回文字符就是将该字符进行逆序处理后,仍然与原字符一样 如:abcdcba、12321、雾锁山头山锁雾 第一种方法 利用字符的下标,判断第一个字符与最后一个字符是否相同,第二个字符与倒数第二个字符是否相同,...
  • 判断一个字符串是否是回文串 /*********************** * 判断一个字符串是否是回文串(左右对称) 单个数字默认为是 * @param str 需要进行判断的字符串 * @return 返回该整数是否为回文串 */ public ...
  • Java 判断回文字符

    2021-04-01 14:39:02
    Java 判断回文字符
  • java回文串

    2012-11-01 13:26:10
    程序开始时,弹出文件框,输入字符串,然后判断输入的字符串是不是回文串。程序结束时弹出文本框显示结果。
  • Java实现回文判断

    2019-07-24 16:19:42
    给定一个字符串,如何判断这个字符串是否是回文串? 所谓回文串,是指正读和反读都一样的字符串,如madam、我爱我等。 2 解决方案 解决上述问题,有两种方法可供参考: (1)从字符串两头往中间扫; (2)从字符串...
  • Java判断字符串是否为回文串
  • 通过栈这个数据结构我们将很容易判断一个字符是否为回文 思路:找到回文的中心点,把前半部分放到新的数组中,然后判断新的数组的部分和回文后半部分是否相同 class HuiWen{ public static void main(String[]...
  • java 验证回文串

    2021-03-06 16:43:15
    1.直接将reverse,然后对比; 2.利用双指针法; API StringBuffer newS = new StringBuffer();//newS长度可变化 Character.API//对一个ch进行操作,比如大小写和判断 newS.charAt(i)//访问指定码点的字符 ...
  • Java 判断字符是否是回文字符

    千次阅读 2019-09-16 21:35:20
    解决上述问题,有两种方法可供参考: (1)从字符两头往中间扫; (2)从字符中间往两头扫。...import java.util.Scanner; public class StringPalindrome { //方法1:两头往中间扫 public bool...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,280
精华内容 3,712
关键字:

java判断回文串

java 订阅