charAt字符串的值(从整数转换)匹配,尽管它们是不同的

时间:2018-04-09 01:05:14

标签: java

希望得到一些帮助。我将一个整数转换为字符串以匹配字符但是虽然它们不匹配,但它似乎返回一个真值。整个想法是看整数是否是回文。请参阅下面的代码。不知道为什么,我认为这是一个相当简单的错误,我正在某个地方。我很新,所以任何帮助都很赞赏:)方法必须具体到下面命名的方式。

public static int reverse(int number)
    {
        String strnumber=Integer.toString(number);
        boolean result;

            for(int i=1;i<=strnumber.length()/2;i++)
            {
                char ch = strnumber.charAt(i-1);
                System.out.println(ch);
                char ch2 =strnumber.charAt(strnumber.length()-i);
                System.out.println(ch2);

                if(strnumber.charAt(i-1)==strnumber.charAt(strnumber.length()-i))
                {
                    result = true;
                }
                else
                {
                    result = false;
                    break;
                }
            }

        if(result = true)
        {
            System.out.println("The integer is a palindrome.");
        }
        else if(result = false)
        {
            System.out.println("The integer is not a palindrome.");
        }

        return number;   

1 个答案:

答案 0 :(得分:3)

if(result = true)else if(result = false),为结果分配值,而不是比较。 =是赋值运算符,比较运算符是==

更改以下行:

    if(result = true)
    {
        System.out.println("The integer is a palindrome.");
    }
    else if(result = false)
    {
        System.out.println("The integer is not a palindrome.");
    }

    if(result == true)
    {
        System.out.println("The integer is a palindrome.");
    }
    else if(result == false)
    {
        System.out.println("The integer is not a palindrome.");
    }