如何在对称上检查号码?
public static int Symmetric(int a) {
if(new StringBuilder(Integer.toString(a)) ==
new StringBuilder(Integer.toString(a)).reverse())
return a;
else
return 0;
}
我试着像这样做,但总是返回0。
答案 0 :(得分:4)
您无法使用==
来比较String
s(或StringBuilder
s),您需要使用equals()
。
此外,在比较之前,您需要将StringBuilder
转回String
:
修改强>
此外,实际上不需要第一个StringBuilder
:
public static int symmetric(int a) {
if (Integer.toString(a).equals(new StringBuilder(Integer.toString(a)).reverse().toString()))
return a;
else
return 0;
}
答案 1 :(得分:0)
平等解释here in JLS。
您必须使用equals() on Strings:StringBuilder.toString()。equals()。
public static int Symmetric( int a ) {
return
new StringBuilder(Integer.toString(a)).toString().equals(
StringBuilder(Integer.toString(a)).reverse().toString())
? a : 0;
}