Java 找到10000以下的lychrel数,逻辑似乎正确,但答案是错误的? publicstaticvoidmain(字符串[]args){ 字符串numstr=“”; int-lychrel=0; 整数和=0; int迭代次数=0; 对于(int num=10

Java 找到10000以下的lychrel数,逻辑似乎正确,但答案是错误的? publicstaticvoidmain(字符串[]args){ 字符串numstr=“”; int-lychrel=0; 整数和=0; int迭代次数=0; 对于(int num=10,java,Java,找到10000以下的lychrel数,逻辑似乎正确,但答案是错误的? publicstaticvoidmain(字符串[]args){ 字符串numstr=“”; int-lychrel=0; 整数和=0; int迭代次数=0; 对于(int num=10;num“一些负大数出现,这很奇怪”您正在经历溢出。尝试使用long或biginger。它起作用了!非常感谢:)我用相反的方法将变量从int改为long,现在的最终答案是249。“一些负大数出现,这很奇怪”您遇到溢出。请尝试使用long或big

找到10000以下的lychrel数,逻辑似乎正确,但答案是错误的?
publicstaticvoidmain(字符串[]args){
字符串numstr=“”;
int-lychrel=0;
整数和=0;
int迭代次数=0;

对于(int num=10;num“一些负大数出现,这很奇怪”您正在经历溢出。尝试使用
long
biginger
。它起作用了!非常感谢:)我用相反的方法将变量从int改为long,现在的最终答案是249。“一些负大数出现,这很奇怪”您遇到溢出。请尝试使用
long
biginger
。效果很好!非常感谢:)我将反向方法中的变量从int更改为long,现在的最终答案是249。
public static void main(String[] args) {
    String numstr="";
    int lychrel=0;
    int sum=0;
    int iterations=0;

for(int num=10;num<10000;num++){
    sum=num;
    iterations=1;
    numstr=sum+reverse(sum)+""; 
    while((isPalyndrom(numstr)==false)&&iterations<50){
        sum=sum+reverse(sum);
        numstr=sum+"";
        iterations++;
    }

if (iterations==50)
    lychrel++;
}
System.out.println(lychrel);
}//End of main