【问题标题】:This equation gives different result in "Python" and "Java" [duplicate]这个等式在“Python”和“Java”中给出了不同的结果[重复]
【发布时间】:2020-11-03 11:38:02
【问题描述】:

我正在将一个用 Python 编写的程序转换为 JavaPython 代码中有一个方程式:(19 - 20) % 91,它的 Java 版本是 (19 - 20) % 91 表示相同。这个等式在 Python 中给出了答案 90,但在 Java 中给出了答案 -1。如何将此等式从 Python 修改为 Java 以使其正常工作和运行?

【问题讨论】:

标签: java python


【解决方案1】:

这里的问题是,在 Python 中,% 运算符返回 modulus,而在 Java 中,它返回 余数。这些函数为正参数给出相同的值,但模数总是为负输入返回正结果,而余数可能给出负结果。这个问题中有更多关于它的信息。

您可以通过这样做找到正值:

int i = (19-20) % 91;
if (i<0) i += 91;

或者你可以使用Math.floorMod():

Math.floorMod((19-20), 91);

【讨论】:

  • 谢谢,兄弟! ???
猜你喜欢
  • 1970-01-01
  • 2021-12-28
  • 1970-01-01
  • 2022-12-03
  • 1970-01-01
  • 2020-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多