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).
您可以将该功能封装在私有方法中:
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)