【发布时间】:2019-03-15 23:59:25
【问题描述】:
public class Palindrome {
public static void main(String args[]) {
int x = 121;
int res = 0;
while (x > 0) {
res = res * 10 + (x % 10);
x /= 10;
}
if (x - res == 0) {
System.out.println("True" + res);
} else
System.out.println("False" + res);
}
}
你好!此代码用于检查整数是否为回文而不将int 转换为String。出于某种原因,计算机认为res 与x 不同,尽管两者都代表数字121。提前感谢您的帮助和感谢!
【问题讨论】:
-
它们不一样,你正在做 x/=10 改变 x,最后 x 将变为 0。
-
计算机认为 res 与 x 不同,因为它们不是。 x 以 121 开始,循环之后为 0。
-
x - res == 0是x == res的一种写法:-) -
这只是一个粗略的代码,我已经多次重新排列每一行以查看导致错误的原因。我一直很迷信。
标签: java string int palindrome