下面的代码有问题吗?
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
是什么让它这么做的?
谢谢!
发布于 2013-09-29 22:54:59
在这里,WolframAlpha和Java的行为似乎不同。
在Java中,您可以从模操作符中得到一个负面的结果。想想“如果我把-5除以360,然后取剩下的部分”,因为-5 / 360是0,那么剩下的-5就是不能被分割的-5。所以Java的结果是-5。
如果您想要WolframAlpha生成的答案,如果来自模运算符的结果小于0,则应该添加360。
https://stackoverflow.com/questions/19084214
复制相似问题