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;
}
检查回文之前将所有情况转换为小写/大写
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;
}