精华内容
下载资源
问答
  • 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判断回文字符几种简单的实现:1.将字符倒置后逐一比较,实现如下:public class HuiWenTest {/*** @SERLIN*/public static void main(String[] args) {String str = "";System.out.println("请输入一个字符")...

    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;

    }

    }

    当然,还能先将数字转为字符串再判断,方法同上面的字符串判断一样.

    除了上面的方法,当然还有其他很多,比如使用递归等.

    也可以自己实现倒序字符串方法,如果大家有更好,更高效的方法希望能贴出来,大家一起学习!

    smile.gif

    smile.gif

    smile.gif

    展开全文
  • 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判断字符串回文的代码实例内容,需要的朋友们可以跟着学习参考下。
  • 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-03-14 22:28:30
    import java.nio.file.DirectoryStream.Filter;import javax.swing.JOptionPane;public class PalindromeIgnoreNonAlphanumeric {public static void main(String[] args) {// TODO Auto-generated method stubStrin...
  • 解题思路:1. 先将链表一分为二,再... 将后半段链表反转,再依次比较即可// 判断是否为回文字符public boolean isHuiwen(){Node dummy = findMid();dummy = reverse(dummy);while(dummy != null){if(dummy.data ...
  • java回文串判断

    2013-11-05 10:22:55
    可以判断回文串。可以忽略大小写和逗号句号等问题。并且以框体的形式显示
  • 在一个指定的字符串中,查找出最长的回文字符串。例如:abcddcdd中出现的最长的回文串就是:cddc。 实现思路: (1)从第一个字符开始,同时从左边和右边取一个字符进行比较,如果相同则当前左边+中间+右边组成的...
  • java模拟栈实现回文串判断,适合新手学习!
  • 判断其是否为一个回文串java实现

    千次阅读 2016-02-25 20:27:28
    给定一个字符串,判断其是否为一个回文串。只包含字母和数字,忽略大小写。 您在真实的面试是否遇到过这个题? Yes 样例 "A man, a plan, a canal: Panama" 是一个回文。 "race a car" 不是一个回文。 注意 你...
  • JAVA实现分割回文串

    2019-10-20 15:35:40
    题干 LeetCode链接:... 给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。 返回 s 所有可能的分割方案。 示例: 输入: "aab" 输出: [ ["aa","b"], ["a"...
  • 判断回文串-Java

    2021-03-21 10:10:41
    判断回文串-Java 验证回文串。编写程序,验证一个字符串是否为回文串:是否从前读它和从后读它都是一样的。例如,mom,dad是回文串。该程序接收用户输入的字符串,判断是否为回文串,然后将判断的结果输出。在验证...
  • java判断字符是否是回文数的方法发布时间:2020-06-28 14:07:16来源:亿速云阅读:95作者:元一本篇文章给大家分享的是有关java判断字符是否是回文数的方法,小编觉得挺实用的,因此分享给大家学习,希望大家...
  • 判断一个字符串是否是回文串 /*********************** * 判断一个字符串是否是回文串(左右对称) 单个数字默认为是 * @param str 需要进行判断的字符串 * @return 返回该整数是否为回文串 */ public ...
  • Java判断字符是否为回文字符

    千次阅读 2020-04-17 15:37:25
    回文字符就是将该字符进行逆序处理后,仍然与原字符一样 如:abcdcba、12321、雾锁山头山锁雾 第一种方法 利用字符的下标,判断第一个字符与最后一个字符是否相同,第二个字符与倒数第二个字符是否相同,...
  • 判断字符是否可以回文,首先字符长度为0,或只有一个字符,即字符长度为1是可以回文的;再然后字符长度大于1,让第一个字符和最后一个比较,若相等,则用递归,调用函数比较第二个和倒数第二个,以此类推。...
  • //用递归实现判断一个字符串是否为回文串 import java.util.Scanner; public class Re3 { public static void main(String args[]){ Scanner input = new Scanner(System.in); String str = input.nextLine(...
  • Java 回文串判定

    2020-02-02 12:09:35
    回文串是指从左到右读和从右到左读是一样的。也就是说字符串和它翻转后的结果是相同的。 代码如下: public class 回文串判定 { public static void main(String[] args){ String str = "abcba"; System.out....
  • 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 ...
  • 回文串:一个字符串如果从前往后读和从后往前读都一样,那么该字符串就被称之为”回文串“,例如:上海自来水来自海上等等。 二、算法设计 对于一个字符串,先判断该字符串的第一个字符和最后一个字符是否相等,如果...
  • 判断回文串

    2021-01-22 01:12:46
    给定一个字符,请编写一个函数判断该字符是否回文。如果回文请返回true,否则返回false。 思路 头尾指针遍历判断即可。 Java实现 import java.util.*; public class Solution { /** * 代码的类名、方法名...
  • JAVA算法:回文字符相关问题详解(回文字符总结) Q1. 编写一个工具方法判断给定的字符是否为回文字符 例如:给定一个字符“aabbaa”,判断该字符是否为回文字符。 算法设计如下: /* * 给定...
  • Java判断是否为回文字符

    千次阅读 2019-08-03 09:55:28
    输入一段字符序列,字符可能包括字母,数字,标点符号等类型字符,在判断该字符序列是否为回文时,只需判断字母和数字类型,其它类型自动忽略。 如:“A man, a plan, a canal: Panama” 是一段回文字符 ...
  • import java.util.Scanner; public class HuiWenShu { static String string; public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String s; System.ou...
  • java判断回文数字Here you will learn about number palindrome in java. 在这里,您将了解Java的数字回文。 A number is called palindrome if it is equal to its reverse. 如果数字等于回文,则称为回文数。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,094
精华内容 4,037
关键字:

java中判断回文串

java 订阅