无论用户输入的大小写如何,我怎样才能让我的程序检查一个单词是否是回文

How could I get my program to check if a word is a palindrome irrespective of the case entered by the user

import java.util.Scanner;
public class Pailindrome {
    public static void main(String[] args) {
        Scanner sc1 = new Scanner(System.in);
        System.out.println("Please enter a word");
        String ori = sc1.nextLine();
        isPailindrome(ori);
        if (isPailindrome(ori))
            System.out.println(ori + "is a Pailindrome");
        else
            System.out.println(ori + "is NOT a Pailindrome");
    }
    public static boolean isPailindrome(String ori) {
        int i = 0;
        int j = ori.length() - 1;
        while (i < j) {
            if (ori.charAt(i) != ori.charAt(j)) {
                return false;
            }
            i++;
            j--;
        }
        return true;
    }
}

代码运行完美我只是不知道如何让它工作,不管情况如何 由用户输入。例如 aBba 是一个回文,但它说它不在我完成的代码中。我 如果可能的话,希望得到任何帮助。

接受输入并调用toUpper();这样当你检查它是否是回文时,所有的字符都是大写的。

String ori = scr.nextLint();
if(isPalindrome(ori.toUpperCase()))
//do something

您可以在开始处理之前将所有字母转换为小写。

您可以编写自己的函数或使用 toLowerCase() 字符串函数。

import java.util.Scanner;
public class Pailindrome {
 public static void main(String[] args) {
  Scanner sc1 = new Scanner(System.in);
  System.out.println("Please enter a word");
  String ori = sc1.nextLine();
  ori = ori.toLowerCase();
  isPailindrome(ori);
  if (isPailindrome(ori))
 }
 System.out.println(ori + "is a Pailindrome");
} else {
 System.out.println(ori + "is NOT a Pailindrome");
}
}
public static boolean isPailindrome(String ori) {
 int i = 0;
 int j = ori.length() - 1;
 while (i < j) {
  if (ori.charAt(i) != ori.charAt(j)) {
   return false;
  }
  i++;
  j--;
 }
 return true;
}

在检查回文之前将所有情况转换为lowercase/uppercase

isPailindrome(ori.toLowerCase());

从两端放大,根据需要调整大小写。

    public static boolean isPalindrome(String str) {
        int len = str.length();
        for (int i = 0; i < len >>1; i++) {
            if (Character.toLowerCase(str.charAt(i)) != 
                    Character.toLowerCase(str.charAt(len - i - 1))) {
                return false;
            }
        }
        return true;
    }