Java中的递归任务

yem*_*rra 1 java recursion

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.有任何想法吗?

Zon*_*ong 6

你有正确的方法.这只是将基本案例与递归组件相结合的问题.如果你想避免if,只需这样做:

public static boolean sameNumbers(int number) {
    return number < 10 || ((number % 10) == (number / 10) % 10) 
                          && sameNumbers(number / 10));
}
Run Code Online (Sandbox Code Playgroud)