[英]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;
temp1
和temp2
都已经为零(在退出while
循环之后)。 在while循环结束后,您需要将它们分别设置为a
和b
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.