【发布时间】:2021-01-31 20:15:53
【问题描述】:
我正在解决这个问题,我应该使用循环来查找两个数字是否共享一个数字。如果共享数字是数字的第一个数字,我编写的代码不会返回 true。我在我的代码或任何其他解决方案中找不到错误。请帮忙!
public static boolean hasSharedDigit(int firstNumber, int secondNumber) {
if ((firstNumber < 10 || firstNumber > 99) || (secondNumber < 10 || secondNumber > 99)) {
return false;
}
int testFirstNumber = firstNumber;
int testSecondNumber = secondNumber;
while (testFirstNumber != 0) {
while (testSecondNumber != 0) {
if ((testFirstNumber % 10) == (testSecondNumber % 10)) {
return true;
}
testSecondNumber /= 10;
}
testFirstNumber /= 10;
}
return false;
}
【问题讨论】:
-
您需要将初始化
testSecondNumber的语句移到外循环内。目前你只运行一次内循环。
标签: java while-loop logic