public static boolean sameNumbers(int number) {
boolean isSame;
isSame = (number % 10) == (number / 10) % 10;
sameNumbers(number / 10);
return isSame;
}
Run Code Online (Sandbox Code Playgroud)
我的任务是实现一个方法,检查给定的int值是否具有所有相同的数字(例如666或1111).但是,要求是我应该选择递归而不是迭代.
我知道我的方法不起作用,但我真的不知道如何解决这个问题if statements.有任何想法吗?
你有正确的方法.这只是将基本案例与递归组件相结合的问题.如果你想避免if,只需这样做:
public static boolean sameNumbers(int number) {
return number < 10 || ((number % 10) == (number / 10) % 10)
&& sameNumbers(number / 10));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
438 次 |
| 最近记录: |