我正在尝试使一个随机数成为回文。例如,生成的随机数 1234 应该变成 12344321。
所以我写了这段代码:
int num = (int)((Math.random()*100000)+1);
int palindrome = num;
System.out.println(num);
while (num > 0)
{
palindrome = palindrome*10+num%10;
num = num/10;
}
System.out.println("Palindrome: " + palindrome);
有时它有效,例如,我得到数字 6540 和回文 65400456。但由于某种原因,在大多数情况下,我得到例如数字 94229 和回文 833057657。或者数字 82270 和回文 -362927364。
为什么会这样?这段代码有什么问题以及如何修复它?
谢谢!