2

我下面的代码有问题吗?

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

是什么导致它这样做?

谢谢!

4

1 回答 1

3

似乎 WolframAlpha 和 Java 在这里表现不同。

在 Java 中,您可以从模运算符中得到否定的结果。想想“如果我将 -5 除以 360 并取余数”,因为 -5 / 360 为 0,所以剩下的 -5 根本无法被除。所以Java中的结果是-5。

如果您想要 WolframAlpha 产生的答案,如果模运算符的结果小于 0,则应添加 360。

于 2013-09-29T22:54:59.577 回答