我下面的代码有问题吗?
public class testing111 {
public static void main(String[] args) {
int t = 0;
System.out.println((t-5)%360);
}
}
我上面的代码输出-5。我认为答案应该是 355,我什至检查了 Wolframalpha:http://www.wolframalpha.com/input/?i=%280-5%29%25360
是什么导致它这样做?
谢谢!
最佳答案
WolframAlpha 和 Java 在这里的行为似乎有所不同。
在 Java 中,您可以从模运算符得到负结果。想想“如果我将 -5 除以 360 并取余数”,因为 -5/360 是 0,所以剩下的 -5 根本无法被除。所以 Java 中的结果是 -5。
如果您想要 WolframAlpha 生成的答案,则当模运算符的结果小于 0 时,您应该添加 360。
关于java - 我是否忘记了关于模数运算符的一些非常基本的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19084214/