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

标签 java palindrome

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 是一个回文,但它说它不在我所做的代码中。我 如果可能的话希望得到任何帮助,谢谢。

最佳答案

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

您可以编写自己的函数或使用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;
}

关于java - 我怎样才能让我的程序检查一个单词是否是回文,无论用户输入的大小写如何,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61065175/

相关文章:

java - 如何优化我糟糕的代码以找到 3 位数字的最高回文数?

c++ - 回文函数

java - '没有合适的驱动程序'错误Android mySql

java - 通过java程序远程连接mySQL

java - 使用Ganymed API进行SFTP时如何绑定(bind)本地地址作为源地址?

java - 在tomcat中运行应用程序时出错

c++ - C++ 中字符串的子串与索引不一致

java - 处理动态表/列名时如何防止SQL注入(inject)?

c - 为什么我的回文函数不起作用?

java - 在 Java 中检查字符串是否为回文