检查x是否是n的倍数的有效方法是什么?

kkk*_*kkk 3 java if-statement

Java代码:

if(x !=0 && x!= n && x!= 2*n .... x!= n*n){ 
    //do something here
}
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来编写这个代码而不是这个长形式?

代码基本上检查X!= n*Y其中,Y =任何自然数(0-N).

Par*_*alo 5

您可以将该功能封装在私有方法中:

if (isDividableBy(x, n)) {
    //...
}
Run Code Online (Sandbox Code Playgroud)

用方法:

private boolean isDividableBy(int x, intn) {
    for (int i = 0; i <= n; i++) {
        if (x == i*n)
            return false;
    }
    return true;
}
Run Code Online (Sandbox Code Playgroud)

如果使用模运算符(%),则可以提高效率,但代码变得不那么可读!

简短的版本是:

if (x%n != 0 || x < 0 || x > n*n) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)