gpt4 book ai didi

java - Project Euler 4 - 不会打印结果

转载 作者:行者123 更新时间:2023-12-01 17:19:36 24 4
gpt4 key购买 nike

问题来了

"A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 × 99.
Find the largest palindrome made from the product of two 3-digit numbers."

我不确定为什么我的代码不起作用。我推断,如果我从最大的数开始并每次减少 X,那么我找到的第一个回文数就是它。但由于某种原因它没有打印。非常感谢任何帮助!

import java.lang.StringBuilder;

public class Euler4 {

public static void main(String[] args){
for (int x=999*999; x>=100*100; x--){
String num=Integer.toString(x);
StringBuilder num1 = new StringBuilder(num);
String num2 = num1.toString();
if (num2.equals(num1.reverse())==true)
System.out.println(num);
break;
}
}
}

最佳答案

你的循环只循环一次,因为你有 break; 。添加大括号以防止将来发生此类事情:

if (num2.equals(num1.reverse().toString())) {
System.out.println(num);
break;
}

还要注意,写 if(someBoolean == true) 是多余的,只需写if(someBoolean)防止错误分配( = 而不是 == )。请..缩进您的代码!

说实话,当我查看你的代码时,我并没有注意到这一点,但我使用了调试器,并在不到 5 秒的时间内发现了问题。有一个调试器..使用它!

关于java - Project Euler 4 - 不会打印结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19676220/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com