当前位置: 代码迷 >> Java相关 >> 麻烦大家用java编下这个程序
  详细解决方案

麻烦大家用java编下这个程序

热度:146   发布时间:2009-10-28 22:50:00.0
麻烦大家用java编下这个程序
本人是菜鸟,对空格,大小写,标点不知道怎么转换,麻烦大家帮个忙!!
题目:检验一个字符串是否为回文串,忽略大小写,空格和标点!!
搜索更多相关的解决方案: 麻烦  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;
    }
}
----------------解决方案--------------------------------------------------------
  相关解决方案