下面的代码有问题吗?
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。