有人能帮我用Java开发Euler#4项目的解决方案吗?

有人能帮我用Java开发Euler#4项目的解决方案吗?,java,Java,好了,伙计们,我知道这不是解决欧拉计划第四个问题的最优雅的解决方案,但我为它感到骄傲,因为我是自己做的。。。直到现在 以下是供参考的问题: 公共类问题4{ 公共无效项目EULER4(){ int-answer=0; 对于(int i=1;i

好了,伙计们,我知道这不是解决欧拉计划第四个问题的最优雅的解决方案,但我为它感到骄傲,因为我是自己做的。。。直到现在

以下是供参考的问题:

公共类问题4{
公共无效项目EULER4(){
int-answer=0;
对于(int i=1;i<1000;i++){
对于(int j=1;j<1000;j++){
如果(i*j>=答案){
字符串stringNum=“”+答案;
字符串firstHalf=“”;
字符串secondHalf=“”;
if(stringNum.length()%2==0){
对于(int k=0;k
此代码
用于(int k=stringNum.length();k

将比较搞砸(<而不是>),并且从stringNum.length()开始,而最后一个字符位于stringNum.length()位置-1

但是,您可以在代码方面改进很多方面:

  • 无需执行
    “abc”+(“+'d')
    ,您可以直接执行
    “abc”+'d'
  • 无需
    Integer.parseInt(“123”)==Integer.parseInt(“123”)
    ,您可以直接执行
    “123”。等于(“123”)
  • 你的第二圈

    for(int k = stringNum.length(); k < stringNum.length()/2; k--) 
    
    for(int k=stringNum.length();k

    您正在倒计时,因此您的终止条件是错误的

    太棒了!但你想从我们这里得到什么“有一个小问题,我一直在拼命寻找。”如果你告诉我们问题是什么,那会有帮助的!哇,这是很多缩进级别。啊,好吧:我也要做这个挑战:最好加快一点,你可以从更高的数字开始(让你的外循环开始高),你可以通过提前开始或结束你的内循环来跳过重复。e、 g.如果你已经做了1*2,那么就不需要做2*1。
    “123”==“123”
    应该是
    “123”。因为
    =
    测试引用相等。
    for(int k = stringNum.length(); k < stringNum.length()/2; k--)