我试图比较两个整数的逆序,但由于某种原因,它给了我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;
}
}
答案 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循环结束后,您需要再次将它们设置为while
和a
。