精华内容
下载资源
问答
  • 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判断回文字符串几种简单的实现: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判断回文字符串

    2020-03-30 12:01:15
    public class Palindrome { public static boolean isPalindrome(String s) { int len = s.length(); for (int i = 0; i < len / 2; i++) if (s.charAt(i) != s.charAt(len - i...
    public class Palindrome {
        public static boolean isPalindrome(String s) {
            int len = s.length();
            for (int i = 0; i < len / 2; i++)
                if (s.charAt(i) != s.charAt(len - i - 1))
                    return false;
            return true;
        }
    
        public static void main(String[] args) {
            System.out.println(isPalindrome("helleh"));
            System.out.println(isPalindrome(""));
            System.out.println(isPalindrome("ababa"));
        }
    }

     

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

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


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


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

    [java] view plain copy
    1. public class HuiWenTest {  
    2. /** 
    3.  * @SERLIN 
    4.  */  
    5. public static void main(String[] args) {  
    6.     String str = "";  
    7.     System.out.println("请输入一个字符串");  
    8.     Scanner input = new Scanner(System.in);  
    9.     str = input.next();  
    10.   
    11.     StringBuffer sb = new StringBuffer(str);  
    12.     sb.reverse();// 将Str中的字符串倒置  
    13.   
    14.     int count = 0;  
    15.     for (int i = 0; i < str.length(); i++) {  
    16.         if (str.charAt(i) == sb.charAt(i)) {  
    17.             count++;  
    18.         }  
    19.     }  
    20.     if (count == str.length()) {  
    21.           
    22.         System.out.println("此字符串是一个回文字符串");  
    23.     } else {  
    24.         System.out.println("此字符串不是一个回文字符串");  
    25.     }  
    26. }  


    2.将字符串倒置后创建新字符串直接比较,实现如下:
    [java] view plain copy
    1. public class HuiWenTest2 {  
    2.     /** 
    3.      * @SERLIN 
    4.      */  
    5.     public static void main(String[] args) {  
    6.         System.out.println("请输入一个字符串");  
    7.         Scanner input = new Scanner(System.in);  
    8.         String str = input.next();  
    9.         StringBuilder sb=new StringBuilder(str);  
    10.         sb.reverse();//将str倒置的方法  
    11.         String newStr=new String(sb);  
    12.         if(str.equals(newStr)){  
    13.             System.out.println(str+"是回文字符串");  
    14.         }else{  
    15.             System.out.println(str+"不是回文字符串");  
    16.         }  
    17.     }  
    18. }  


    3.使用截取字符串的方式比较,实现如下:
    [java] view plain copy
    1. public class HuiWenTest3 {  
    2.     /** 
    3.      * @SERLIN 
    4.      */  
    5.     public static void main(String[] args) {  
    6.         System.out.println("请输入一个字符串");  
    7.         Scanner input = new Scanner(System.in);  
    8.         String str = input.next();  
    9.         int count = 0;  
    10.         for (int i = 0; i < str.length() / 2; i++) {  
    11.         if ((str.substring(i, i + 1)).equals(str.substring(str.length() - 1- i, str.length() - i))) {  
    12.                 count++;  
    13.             }  
    14.         }  
    15.         if (count == str.length() / 2) {  
    16.             System.out.println("是回文字符串");  
    17.         }else{  
    18.             System.out.println("不是回文字符串");  
    19.         }  
    20.     }  
    21. }  


    4.判断回文数字(判断纯数字),实现如下
    [java] view plain copy
    1. public class HuiWenNum {  
    2.     /** 
    3.      * @SERLIN 
    4.      */  
    5.     public static void main(String[] args) {  
    6.         int n;  
    7.         System.out.println("请输入一个整数:");   
    8.         // 如果结果为回文数,跳出循环  
    9.         while (true) {  
    10.             Scanner InpuNum = new Scanner(System.in);  
    11.             n = InpuNum.nextInt();  
    12.             if (isHuiWen(n)) {  
    13.                 System.out.println(n + "是回文数!");  
    14.                 break;  
    15.             } else {  
    16.                 System.out.println(n + "不是回文数!");  
    17.             }  
    18.         }  
    19.     }  
    20.   
    21.   
    22.     // 判断的数字是否是回文数  
    23.     public static boolean isHuiWen(int n) {  
    24.         int m = reverse(n);  
    25.         if (m == n) {  
    26.             return true;  
    27.         } else {  
    28.             return false;  
    29.         }  
    30.     }  
    31.   
    32.   
    33.     // 将输入的数字进行倒置,以便进行判断是否是回文数  
    34.     public static int reverse(int n) {  
    35.         int temp = 0;// 临时变量  
    36.         int j = 0;// 倒置后的数字  
    37.         temp = n;// 将输入的数字赋值给临时变量  
    38.         while (temp != 0) {  
    39.             j = j * 10 + temp % 10;  
    40.             temp /= 10;  
    41.         }  
    42.         return j;  
    43.     }  
    44. }  

    ·回文数的定义:

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

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


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


    贴代码:

    [cpp] view plain copy
    1. #include <iostream>  
    2. #include <math.h>  
    3.   
    4. using namespace std;  
    5.   
    6. bool isPadlindrome(int n)  
    7. {  
    8.     // 如果是int类型的最小值 显然不是回文数  
    9.     if (n == INT_MIN)  
    10.     {  
    11.         return false;  
    12.     }  
    13.   
    14.     // 绝对值  
    15.     n = abs(n);  
    16.   
    17.     int tmp = 1;  
    18.   
    19.     // 将tmp位数变为与n一致  
    20.     while(n / tmp >= 10) // 防止tmp溢出  
    21.     {  
    22.         tmp *= 10;  
    23.     }  
    24.   
    25.     // n = 0 表示所有位比较完  
    26.     while(n != 0)  
    27.     {  
    28.         // 最高位 != 最低位  
    29.         if (n / tmp != n % 10)  
    30.         {  
    31.             return false;  
    32.         }  
    33.   
    34.         // 最高位 = 最低位 去掉最高位 去掉最低位  
    35.         // 继续比较  
    36.         n = (n % tmp) / 10;  
    37.         tmp /= 100;  
    38.     }  
    39.   
    40.     return true;  
    41. }  
    42.   
    43. int main(void)  
    44. {  
    45.     int n;  
    46.     cin>>n;  
    47.   
    48.     if (isPadlindrome(n))  
    49.     {  
    50.         cout<<"true"<<endl;  
    51.     }  
    52.     else  
    53.     {  
    54.         cout<<"false"<<endl;  
    55.     }  
    56.   
    57.     return 0;  
    58. }  

    展开全文
  • 首先介绍下什么是回文字符串回文字符串就是关于中心对称的字符串,比如 测试下
  • java判断回文字符串的几种方法

    万次阅读 多人点赞 2014-07-22 16:45:43
    java判断回文字符串几种简单的实现: 1.将字符串倒置后逐一比较,实现如下: public class HuiWenTest { /** * @SERLIN */ public static void main(String[] args) { String str = ""; System.out....
  • java判断字符串是否是回文数的方法发布时间:2020-06-28 14:07:16来源:亿速云阅读:95作者:元一本篇文章给大家分享的是有关java判断字符串是否是回文数的方法,小编觉得挺实用的,因此分享给大家学习,希望大家...
  •  该代码的功能可以实现对任意的一段字符串进行判断是否有回文回文有哪些,和其中的最大回文。 二、代码部分 1、全局变量 1 static String hws = ""; 2 static int num = 0; 3 static String[] hw; 2、...
  • 作者 |磊哥来源 | Java面试真题解析(ID:aimianshi666)转载请联系授权(微信ID:GG_Stone)回文字符串判断是面试和笔试中常见的面试题之一,同时也是 LeetCode 中一道经典的面试题,那么本文我们就来看一下什么是回文...
  • JAVA回文字符串(2005-07-05 19:58:39)判断一个字符串是否回文Publish date: 2005-05-09 08:17:49 Posted by tensun 令人奇怪的是,如果输入窗口提示信息用英文,则不可以输入中文,用中文,就可以输入中文了./*判断一...
  • Java实现回文字符串判断

    千次阅读 2017-03-22 10:11:56
    这里先说一下判断回文字符串的三种思路:递归、双指针以及字符串翻转1.双指针:即在字符串前后同时进行移动判断,对应位置上的字符是否相同:public boolean Palindrome(String s,int start,int end){ char[] c = s....
  • JAVA算法:回文字符串相关问题详解(回文字符串总结) Q1. 编写一个工具方法判断给定的字符串是否为回文字符串 例如:给定一个字符串“aabbaa”,判断该字符串是否为回文字符串。 算法设计如下: /* * 给定...
  • 判断回文字符串

    2021-01-15 22:01:26
    问题描述:如何判断回文字符串? 什么是回文字符串? 如果一个字符串从前向后读和从后向前读,都是一个字符串称为回文字符串。 例如:mom,dad,opo等。 package work_15; import java.util.Scanner; public class ...
  • 首先,回文是指类似于“12345”,“abcdcba”的形式,即正念和反念都是一样的字符串判断字符串是否是回文,这边介绍2种办法1、将字符串翻转,判断翻转后的字符串和原字符串是否相等public static void main(String[]...
  • 第二点,考虑什么是回文字符串。我开始的思路也出了一些偏差,认为回文的意思在于只要出现成对的字母就可以了。但深刻理解发现回文的意思在于除了字符串中的标点符号以外字符和数字能够正反读取都是一样的(当然题目...
  • 1 问题描述给定一个字符串,如何判断这个字符串是否是回文串?所谓回文串,是指正读和反读都一样的字符串,如madam、我爱我等。2 解决方案解决上述问题,有两种方法可供参考:(1)从字符串两头往中间扫;(2)从...
  • 判断回文字符串: 设置两个指针,一个从左边开始遍历,另一个从右开始遍历,并设置哨兵,依次比较两个元素的值;两值相同则哨兵为true,进入下一次遍历,当左边遍历到右边,右边遍历到左边时跳出循环;(这里可以...
  • 回文字符串就是将该字符串进行逆序处理后,仍然与原字符串一样 如:abcdcba、12321、雾锁山头山锁雾 第一种方法 利用字符串的下标,判断第一个字符与最后一个字符是否相同,第二个字符与倒数第二个字符是否相同,...
  • 回文字符串 题目要求:  判断一个字符串是不是对称字符串。(用递归的方法) 代码: package 回文字符串; import java.util.Scanner; public class Huiwenzifuchuan { public static void main(String[] args...
  • Java判断回文字符

    2016-05-02 10:20:29
    回文是一种“从前往后读”和“从后往前读”都相同的字符串,例如:rotor就是一个回文字符。源代码 public class ChapterFive {/** ...//App5_5判断回文字符 String str = "rotor"; char sChar, eCha
  • Java判断是否为回文字符串

    千次阅读 2019-08-03 09:55:28
    如:“A man, a plan, a canal: Panama” 是一段回文字符串 “race a car”则不是回文字符串 实现方法 从字符串的两端逐个进行比较,若遇到非字母或数字字符则将索引值加一或减一,如果两端字符不同,直接返回fals....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 715
精华内容 286
关键字:

java判断回文字符串

java 订阅