Java新手:找不到语法错误

Java新手:找不到语法错误,java,Java,我最近开始学习Java,需要在下面的一段代码中找到语法错误。如果有人能解释为什么这是错误的,我也会非常感激 public boolean isDivisible(int a, int b) { return a % b != 0; } 提前感谢。该代码中没有语法错误,您可以将其合并到一个完整的程序中,并确保其编译正常: public class Test{ public boolean isDivisible(int a, int b) { return a %

我最近开始学习Java,需要在下面的一段代码中找到语法错误。如果有人能解释为什么这是错误的,我也会非常感激

public boolean isDivisible(int a, int b) {
    return a % b != 0;
}

提前感谢。

该代码中没有语法错误,您可以将其合并到一个完整的程序中,并确保其编译正常:

public class Test{
    public boolean isDivisible(int a, int b) {
        return a % b != 0;
    }
    public static void main(String[] args) {
        Test t = new Test();
        System.out.println(t.isDivisible(10, 2));
        System.out.println(t.isDivisible(10, 3));
    }
}
然而,尽管十可以被二整除,但不能被三整除,但由于它输出false后跟true这一事实,存在一个逻辑问题

换句话说,你们对比较的感觉是错误的。一个数字可以被认为是可除的,因为模运算符给你一个零值,而不是你现在所拥有的非零值

一个更好的实现,纠正逻辑错误并覆盖尝试除以零的情况,应该是这样的:

public boolean isDivisible(int a, int b) {
    if (b == 0) return false;
    return (a % b) == 0;
}

你怎么知道有语法错误?这段代码中没有语法错误。请分享错误消息没有语法错误,只是语义错误。我的魔法球是说你做错了什么。请把它修好。