【发布时间】:2015-10-13 09:47:12
【问题描述】:
我必须编写一个方法来检查一个单词是否是回文。可能有比我更简单的方法,但这只是基于我到目前为止所学到的。我的方法有效,除非有大写字母与小写字母相比。
编辑:不是很清楚。我的方法返回大写和小写字母相同。但我想说它们是不同的
public static void printPalindrome(Scanner kb) {
System.out.print("Type one or more words: ");
String s = kb.nextLine();
int count = 0;
for(int i = 0; i < s.length();i++) {
char a = s.charAt(i);
char b = s.charAt(s.length()-(i+1));
if (a==b) {
count ++;
} else {
count = count;
}
}
if (count == s.length()) {
System.out.print(s + " is a palindrome!");
} else {
System.out.print(s + " is not a palindrome.");
}
}
【问题讨论】:
-
为什么要遍历整个字符串?
i只需跑到中心即可。 -
我刚刚测试了您的代码,它按照您说的方式运行。例如,“中午”不是回文。 See this 如果你真的得到了不同的结果,那么也许
Scanner正在做一些不应该做的事情……不过我不知道
标签: java char compare equals palindrome