首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript - JGRASP-回文

Javascript - JGRASP-回文
EN

Stack Overflow用户
提问于 2018-11-22 04:13:27
回答 1查看 121关注 0票数 0

本例是从文件输入中获取字符串,以检查语句是否为回文。例如,如果input.txt是“女士我是亚当。\n赛车\n船\n 123 321 \n 1234”,输出将是

真真假真假

下面是我的回文方法:

代码语言:javascript
复制
public static boolean isPalindrome(String word){// Source: http://www.codenuclear.com/java-program-to-check-palindrome/
      String reverse = "";
      
      if(word == null){
         return false;
      }else if(word.length() == 1){
         return true;
      }
      
      for(int i = word.length()-1; i >= 0; i--){
         reverse += word.charAt(i);
      }
      
      if(word.equalsIgnoreCase(reverse)){
         return true;
      }
      
      return false;
   }

到目前为止,输出是:

假真假假真假

我认为问题出在“女士我是亚当”这句话和大写字母的影响上。我如何运行代码来忽略大写字母以使回文为真?我知道有一个.equalsIgnoreUpperCase()方法或类似的方法。

EN

回答 1

Stack Overflow用户

发布于 2018-11-22 04:29:24

它失败是因为‘女士我是亚当’字符串中的空格、字符和字母大小写。

编辑函数以忽略这些字符和您不希望算法考虑的其他字符,或者更好的做法是,在检查字符串是否为回文之前,使用ascii验证字符串中的每个字符,然后使用toLowerCase()方法将所有字符转换为小写,它应该会按照您希望的那样工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53419815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档