比较整数的逆序的方法

时间:2017-12-14 21:37:42

标签: java debugging

我试图比较两个整数的逆序,但由于某种原因,它给了我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;
    }
}

1 个答案:

答案 0 :(得分:1)

当你的代码到达这一点时:

<table>
  <tr>
    <td style="width:60px; border: 1px solid #ABABAB; padding: 2px;" class="inProgressGrade">
      90.62%
      <b>A</b>
    </td>
    <td style="width:60px; border: 1px solid #ABABAB; padding: 2px;" class="inProgressGrade">
      87.10%
      <b>B</b>
    </td>
  </tr>
</table>

arrA[i]=temp1%10; arrB[i]=temp2%10; temp1都已归零(退出temp2循环后)。在while循环结束后,您需要再次将它们设置为whilea