精华内容
下载资源
问答
  • 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 判断回文字符串

    2021-04-01 14:39:02
    Java 判断回文字符串
    package chapter3;
    import java.util.Scanner;
    /****************************************************************
     * Author:icyn
     * Description: 回文数字 is a palindrome
     * others:别忘了给游标 j设置成sNumber.length()-1
     * Date:2021/4/1 下午
     * Test:
    Enter a three-digit integer:
    121
    121 is a palindrome
    Enter a three-digit integer:
    123
    123 is not a palindrome
     * ***************************************************************
     */
    public class exc3_12 {
    	
    	public static void main(String[] args) {
    		
    		Scanner input=new Scanner(System.in);
    		
    		//将读入的字符串转换成字符数组
    		System.out.println("Enter a three-digit integer:");
    		String sNumber=input.next();
    		char[]   cArray=sNumber.toCharArray();
    		
    		int i=0,j=sNumber.length()-1;
    		
    		while(i<j&&cArray[i]==cArray[j]) {
    			i++;
    			j--;	
    		}
    		
    		if(i<j) {
    			System.out.println(sNumber+" is not a palindrome");
    		}else {
    			System.out.println(sNumber+" is a palindrome");
    		}
    		
    	}
    	
    }
    
    
    展开全文
  • 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判断回文字符串

    千次阅读 2017-07-10 10:49:11
    判断一个正整数是不是回文数。 回文数的定义是,将这个数反转之后,得到的数仍然是同一个数。public class HuiWenNum { /** * @SERLIN */ public static void main(String[] args) { int n; System.out...

    题目描述
    判断一个正整数是不是回文数。
    回文数的定义是,将这个数反转之后,得到的数仍然是同一个数。


    public class Solution {  
        /** 
         * @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;  
        }  
    }  
    展开全文
  • java判断回文字符串的几种方法

    万次阅读 多人点赞 2014-07-22 16:45:43
    java判断回文字符串几种简单的实现: 1.将字符串倒置后逐一比较,实现如下: public class HuiWenTest { /** * @SERLIN */ public static void main(String[] args) { String str = ""; System.out....
  • 判断一个是否是回文字符串回文字符串是指正序(从左向右)和倒序(从右向左)读都是一样的字符串。 示例1 输入:abc 输出:false 示例2 输入:-121 输出:false 示例3 输入:abba 输出:true 判断是否为回文...
  • Java判断字符串是否为回文字符串

    千次阅读 2020-04-17 15:37:25
    回文字符串就是将该字符串进行逆序处理后,仍然与原字符串一样 如:abcdcba、12321、雾锁山头山锁雾 第一种方法 利用字符串的下标,判断第一个字符与最后一个字符是否相同,第二个字符与倒数第二个字符是否相同,...
  • 在本篇文章里小编给各位整理的是一篇关于Java判断字符串回文的代码实例内容,需要的朋友们可以跟着学习参考下。
  • Java 判断字符串是否是回文字符串

    千次阅读 2019-09-16 21:35:20
    解决上述问题,有两种方法可供参考...(1)从字符串两头往中间扫; (2)从字符串中间往两头扫。 具体代码如下: import java.util.Scanner; public class StringPalindrome { //方法1:两头往中间扫 public bool...
  • JAVA算法:回文字符串相关问题详解(回文字符串总结) Q1. 编写一个工具方法判断给定的字符串是否为回文字符串 例如:给定一个字符串“aabbaa”,判断该字符串是否为回文字符串。 算法设计如下: /* * 给定...
  • 解析:所谓回文意思就是字符串顺着读和反着读都是一样的就比如“1234321”,“abcdcba 这里我就假设要验证的字符串是String s=“12345”,当然这个是可以自定义输入 方法一: /* * 先假设String s="12345",头和尾...
  • Java判断是否为回文字符串

    千次阅读 2019-08-03 09:55:28
    如:“A man, a plan, a canal: Panama” 是一段回文字符串 “race a car”则不是回文字符串 实现方法 从字符串的两端逐个进行比较,若遇到非字母或数字字符则将索引值加一或减一,如果两端字符不同,直接返回fals....
  •  该代码的功能可以实现对任意的一段字符串进行判断是否有回文回文有哪些,和其中的最大回文。 二、代码部分 1、全局变量 1 static String hws = ""; 2 static int num = 0; 3 static String[] hw; 2、...
  • 判断回文字符串

    2021-01-15 22:01:26
    问题描述:如何判断回文字符串? 什么是回文字符串? 如果一个字符串从前向后读和从后向前读,都是一个字符串称为回文字符串。 例如:mom,dad,opo等。 package work_15; import java.util.Scanner; public class ...
  • 判断是否能成为回文字符串。 示例 1: 输入: “aba” 输出: True 示例 2: 输入: “abca” 输出: True 解释: 你可以删除c字符。 注意: 字符串只包含从 a-z 的小写字母。字符串的最大长度是50000。 PS: 我只允许有一次...
  • 函数palindrome判断输入字符串char *s是否为回文。若是则返回true,否则返回false。 裁判测试程序样例: #include <stdio.h> #include <string.h> #define MAXN 20 typedef enum {fals
  • 7-1 判断回文字符串

    千次阅读 多人点赞 2020-11-25 08:37:40
    7-1 判断回文字符串 (15分) 输入一个字符串,判断该字符串是否为回文。回文就是字符串中心对称,从左向右读和从右向左读的内容是一样的。 输入格式: 输入在一行中给出一个不超过80个字符长度的、以回车结束的非空...
  • 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的回文串。 示例 1: 输入: "A man, a plan, a canal: Panama" 输出: true 示例 ...
  • package Experiment.Java.test14; import java.util.Scanner; public class test04 { public static void main(String[] args) { ... System.out.println("输入一个字符串"); String a =in.nextLine(); int
  • 判断是否是回文字符串Java实现)

    千次阅读 2019-07-17 23:22:55
    找出区间数字的所有回文数,此例我们判断了五位数字,找出了五位数中所有的的回文数,大一开始接触C语言就是这么干的。 public class Main{ public static void main(String [] args){ int count2 = 0; ...
  • Java实现回文字符串判断

    千次阅读 2017-03-22 10:11:56
    这里先说一下判断回文字符串的三种思路:递归、双指针以及字符串翻转1.双指针:即在字符串前后同时进行移动判断,对应位置上的字符是否相同:public boolean Palindrome(String s,int start,int end){ char[] c = s....
  • package lianxi; import java.util.*; public class Test37{ public static void main(String[]... if(huiwen(ss)) System.out.println("是回文字符串"); else System.out.println("不是是回文字符串"); } publi.
  • 递归算法 检查字符串的快速指南是回文或不在Java中使用递归。 1.概述 在本教程中,我们将学习如何使用java中的递归函数来检查字符串回文字符串回文表示字符串反转值是否等于原始字符串。 递归表示从同一函数...
  • java判断输入一段字符串是不是回文

    热门讨论 2011-10-21 17:34:00
    最好在myeclipse里面运行,可以直接在下面输入一段字符串,运行便可以看出结果。
  • 函数palindrome判断输入字符串char *s是否为回文。若是则返回true,否则返回false。 裁判测试程序样例: #include #include #define MAXN 20 typedef enum {false, true} bool; bool palindrome( char *s...
  • 1、回文字符串判断 假如这个字符串为奇数长度的回文字符串,则除了最中间的字符外,其左右的字符串两两相同。 假如这个字符串为偶数长度的回文字符串,则其左右完全对称。 代码如下: #include<iostream> #...

空空如也

空空如也

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

java判断回文字符串

java 订阅