Java 欧拉4号项目

Java 欧拉4号项目,java,Java,目标是找到两个三位数的乘积的最大数,即回文数。我已经用java编写了以下代码,但是当我运行它时,我没有得到任何输出。有什么不对劲吗 public class Problem4{ public static void main(String[] args){ int reversedProduct=0; int temp=0; int product; for (int a=100; a<1000; ++a){

目标是找到两个三位数的乘积的最大数,即回文数。我已经用java编写了以下代码,但是当我运行它时,我没有得到任何输出。有什么不对劲吗

public class Problem4{
    public static void main(String[] args){
        int reversedProduct=0;
        int temp=0;
        int product;
        for (int a=100; a<1000; ++a){
            for (int b=100; b<1000; ++b){
                product=a*b;
                while (product>0){
                    temp = product%10;
                    reversedProduct=reversedProduct*10+temp;
                    product=product/10;
                } if (reversedProduct==product){
                    System.out.println(product);
                }
            }
        }
    }
}
公共类问题4{
公共静态void main(字符串[]args){
int reversedProduct=0;
内部温度=0;
int产品;

对于(int a=100;a您在对其进行反转的过程中,正在对产品进行调零。您应该制作一份副本,并将反转后的产品与之进行比较

int orig = product;
while (product>0){
    temp = product%10;
    reversedProduct=reversedProduct*10+temp;
    product=product/10;
}
if (reversedProduct==orig){
    System.out.println(reversedProduct);
}

请注意,此时您的解决方案将打印所有回文,而不仅仅是最迟的回文。不过,获取最大的回文应该很简单。

尝试打印
reversedProduct
product
,之后应该非常清楚。@BobSmith您是对的,它应该打印
orig
reversedProduct。现在已修复此问题。