为什么我的代码中的if语句被忽略了?

时间:2018-03-18 21:36:07

标签: java eclipse if-statement palindrome

如果原始String输入等于反向输入,则此代码应该反转String,然后使用if语句进行检查。但if语句永远不会运行,表明原始字符串和反向字符串不一样......即使我输入回文。

import java.util.Scanner;

public class TestScannerPalindrome {
    static String reverse(String par) {
        String reversed = new String();
        for(int i = par.length() - 1; i >= 0; i--) {
            reversed += par.charAt(i);
        }
        return reversed;
    }
    public static void main(String[] args) {
        @SuppressWarnings("resource")
        Scanner sc = new Scanner(System.in);
        String unos = sc.nextLine();
        if(unos == reverse(unos)) {
            System.out.println(unos + " is palindrome");
        } else {
            System.out.println(unos + " is not palindrome");
        }

    }

}

1 个答案:

答案 0 :(得分:0)

字符串是Java中的对象,因此您无法使用“==”运算符对它们进行比较。您必须使用String类的equals()方法。