java - 移动确定字符串是否为回文的逻辑

标签 java palindrome

目前我对如何将确定字符串是否为回文的逻辑从 main 方法移动到名为 checkPalindrome 的方法感到非常困惑?我的方法应该有一个字符串参数并返回一个 boolean 值,但我仍然不确定如何执行此操作。

import java.util.Scanner;

public class PalindromeCheckMethod {

public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("Enter a String: ");
        String s = input.nextLine();
        boolean isPalindrome = checkPalindrome(s);
        String msg = "not a palindrome";
        if (isPalindrome) {
            msg = "a palindrome";
        }
        System.out.printf("%s is %s.%n", s, msg);

        s = s.toLowerCase();
        String resultString = "";

        for (int i = 0; i < s.length(); i++) {
            if (Character.isLetter(s.charAt(i)))
                resultString += s.charAt(i);
        }
        s = resultString;

        int low = 0;
        int high = s.length() - 1;

        if (high >= 0)  {


        while (low < high) {
            if (s.charAt(low) != s.charAt(high)) {
                isPalindrome = false;
                break;
            }
                low++;
                high--;
            }
        }
        else {
            isPalindrome = false;
        }

        if (isPalindrome)
            System.out.println(s + " is a palindrome. ");
        else 
            System.out.println(s + " is not a palindrome. ");


        }

private static boolean checkPalindrome(String s) {
    return false;
}

    }

最佳答案

static boolean checkPalindrome(String str) 
{
   int strEndPoint=str.length()-1;
   int strStartPoint=0;
   boolean isPalindrome=true;
   while(strStartPoint<=strEndPoint)
   {
       if(str.charAt(strStartPoint)!=str.charAt(strEndPoint))
       {
          isPalindrome=false;
          break;
       }
     strStartPoint++;
     strEndPoint--;
  }
 return isPalindrome;

}

关于java - 移动确定字符串是否为回文的逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32878678/

相关文章:

java - 如何修改此 Held-Karp 算法以搜索哈密顿路径而不是循环?

java - ArrayAdapter 构建 ArrayList 时未正确处理单击事件

java - 遍历文件列表以检查里面有多少行

ruby - 对回文产品问题感到困惑

c - 为什么我的回文检查函数总是对回文返回 false?

java - 为什么我的变量仅在将延迟放入 while(true) 循环中时才更新

java - 在 JAVA 中解析 RFC 2822 日期

regex - 使用perl在多个蛋白质序列中查找回文(完美回文)

c# - 如何找到给定字符串中最长的回文?

algorithm - 最长回文算法如何选择下一个中心?