目前我对如何将确定字符串是否为回文的逻辑从 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/