麻烦大家用java编下这个程序
本人是菜鸟,对空格,大小写,标点不知道怎么转换,麻烦大家帮个忙!!题目:检验一个字符串是否为回文串,忽略大小写,空格和标点!!
----------------解决方案--------------------------------------------------------
public class CC {
//该方法判断是不是回问串
public boolean palindromeString(String word) {
boolean ifPalindromeString = true;
for (int i = 0; i < word.length() / 2; i++) {
if (!(word.substring(i, i + 1).equals(word.substring(word.length()
- i - 1, word.length() - i)))) {
ifPalindromeString = false;
}
}
return ifPalindromeString;
}
//调用测试
public static void main(String[] args) {
CC c = new CC();
boolean ifPalindromeString = c.palindromeString("Q1QQQ"); //你在这里加字符串测试。
if (ifPalindromeString) {
System.out.println("是回文串");
} else {
System.out.println("不是回文串");
}
}
}
----------------解决方案--------------------------------------------------------
if (!(word.substring(i, i + 1).equals(word.substring(word.length()
- i - 1, word.length() - i)))) {
ifPalindromeString = false;
}
版主的程序中,上面的if中间加 break; 比较好
----------------解决方案--------------------------------------------------------
随手写的,上班偷偷回帖子不容易......
----------------解决方案--------------------------------------------------------
要忽略大小写,先将字符串转成全部大写或全部小写,再判断是否回文
用String.toLowerCase() 或 String.toUpperCase()
----------------解决方案--------------------------------------------------------
import java.util.*;
public class Palindrome
{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("Enter a string: ");
String str = in.nextLine();
System.out.println("You've entered string: "+str); //输出港输入的字符串
if(isPalindrome(str)) //调用isPalindrome方法判断是否回文
{
System.out.println("\"" + str +"\"is a palindrome.");
}
else {
System.out.println("\"" + str +"\"is not a palindrome.");
}
}
public static boolean isPalindrome(String str) { //判断是否回文
int len = str.length(); //返回字符串长度
for(int i=0;i<len/2-1;i++) {
if(str.charAt(i)!=str.charAt(len-i-1)) { //对称的两个字符比较,charAt(),返回指定位置的字符
return false;
}
}
return true;
}
}
----------------解决方案--------------------------------------------------------