繁体   English   中英

比较整数逆序的方法

[英]Method comparing the reverse order of integers

我正在尝试比较两个整数的相反顺序,但是由于某种原因,它给了我true 我试图找出我的错误在哪里,但似乎找不到它。

这是我的代码:

    int a=4234;
    int b=4326;

    System.out.print(reverseSame(a,b));
}

public static boolean reverseSame(int a, int b) {
    int n1=0;
    int n2=0;
    int temp1=a;
    int temp2=b;

    while(temp1>0) {
        temp1/=10;
        n1++;
    }

    while(temp2>0) {
        temp2/=10;
        n2++;
    }

    if (n1!=n2)
        return false;
    else {
        boolean isEqual=true;

        int []arrA = new int[n1];
        int []arrB = new int[n1];

        for (int i=n1-1; i>=0; i--) {
            arrA[i]=temp1%10;
            arrB[i]=temp2%10;

            temp1/=10;
            temp2/=10;
        }

        for (int i=0; i<n1/2;i++) {
            if (arrA[i]!=arrB[n1-i-1]) {
                isEqual=false;
            }
        }
        return isEqual;
    }
}

到您的代码到达这一点时:

        arrA[i]=temp1%10;
        arrB[i]=temp2%10;

temp1temp2都已经为零(在退出while循环之后)。 在while循环结束后,您需要将它们分别设置为ab

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM