我的Euler&x27项目java代码有什么问题;什么是程序4?(查找2个3位数的最大回文)

我的Euler&x27项目java代码有什么问题;什么是程序4?(查找2个3位数的最大回文),java,algorithm,palindrome,Java,Algorithm,Palindrome,这是我的代码,答案似乎总是100001(不是偶数) 执行循环)。 我知道有很多更简单的方法来解决这个问题,但是这个特定的代码到底出了什么问题?我该如何修复它 公共类最大回文 { 公共静态void main(字符串[]args) { int最大=100001; 对于(int i=100;i

这是我的代码,答案似乎总是100001(不是偶数) 执行循环)。 我知道有很多更简单的方法来解决这个问题,但是这个特定的代码到底出了什么问题?我该如何修复它

公共类最大回文
{
公共静态void main(字符串[]args)
{
int最大=100001;
对于(int i=100;i<1000;i++)
{           
对于(int j=100;j<1000;j++)
{
int mult=i*j;
if(最大
原始的
公共静态布尔值isAlindrome(int mult)
方法中有太多错误。因此,我将其替换为标准版本:

public static boolean isPalindrome(int mult)
{

   int temp=mult;    
   int r,sum=0; 
   while(mult>0){    
     r=mult%10;  //getting remainder  
     sum=(sum*10)+r;    
     mult=mult/10;    
  }    
  if(temp==sum)    
      return true;
  else{
      return false;
  }
}

解释预期输出和相应的输入(如果有)!结果应该是906609,这是两个三位数相乘形成的最大回文,但我的结果总是100001。my end没有输入。末尾的
if/else
构造可以替换为
return temp==sum@blastfurne那么这意味着这个答案应该被否决吗?@VidorVistrom谢谢你的回答……它成功了well@BlacburnResnov那就接受吧
public static boolean isPalindrome(int mult)
{

   int temp=mult;    
   int r,sum=0; 
   while(mult>0){    
     r=mult%10;  //getting remainder  
     sum=(sum*10)+r;    
     mult=mult/10;    
  }    
  if(temp==sum)    
      return true;
  else{
      return false;
  }
}