乱数を回文にしようとしています。たとえば、生成された乱数 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 が表示されます。
なぜそれが起こっているのですか?このコードの何が問題で、どのように修正すればよいですか?
ありがとうございました!